日本語プログラミング言語なでしこの公式掲示板

なでしこ1 質問

トップ 新規 検索

2022-04-12 14:52:56

Re⑦:UDPで一度に複数データを送る場合

みつみ さん

雪乃☆雫さん
と さん

ありがとうございます!
無事に送信できるようになりました。
一応INTとFLOATに対応したOSC送信用の関数にしました。完成したコードはこんな感じになりました。
ほかの引数型や一括で複数の引数の送信は私の用途では使わないので実装してありません。

ほんとうにありがとうございました!
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
!”nakonet.nako”を取り込む。


クライアントとはUDP。
クライアントのポートは9000。
クライアントのホストは「127.0.0.1」。
クライアントの自ポートは9001。。
クライアントに接続。
クライアントで受信した時は
 「受信しました」と表示。
 クライアントの受信データを表示。
クライアントで接続した時は
 「接続成功」と表示。
 クライアントにOSCメッセージ変換(「/avatar/parameters/testdata1」,「f」,1.234)を送信。
 クライアントにOSCメッセージ変換(「/avatar/parameters/testdata2」,「i」,123)を送信。

クライアントでエラー時は
 「接続失敗」と表示。 

*OSCメッセージ変換(A,T,P)
 #アドレス+\0
 OSCメッセージはA。
 4-(Aの文字数と4の余り)回
  OSCメッセージはOSCメッセージ&「{\0}」。
 #引数型追加
 OSCメッセージはOSCメッセージ&「,{T}」。
 4-(Tの文字数+1と4の余り)回
   OSCメッセージはOSCメッセージ&「{\0}」。
 Tで条件分岐
  「f」ならば
   引数はFLOAT(P)を浮動小数点数変換。
  「i」ならば
   引数はINT(P)を整数変換。
 OSCメッセージはOSCメッセージ&引数。
 OSCメッセージを戻す。
 
*浮動小数点数変換(数値を)
  仮に4を確保。浮動小数点数に4を確保。
  仮の1に「FLOAT」で数値をバイナリ設定。
  Noを4から1まで繰り返す
   バイト=仮のNoを「BYTE」でバイナリ取得。
   浮動小数点数の回数に「BYTE」でバイトをバイナリ設定。
  浮動小数点数を戻す。

*整数変換(数値を)
 仮に4を確保。整数値に4を確保。
 仮の1に「INT」で数値をバイナリ設定。
 Noを4から1まで繰り返す
  バイト=仮のNoを「BYTE」でバイナリ取得。
  整数値の回数に「BYTE」でバイトをバイナリ設定。
 整数値を戻す。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

(編集パスワード送信)

子記事

親記事 (No.1259)
返信した記事(元) (No.1266)

この内容(No.1267)に返信

この内容(No.1267)をダウンロード

この内容(No.1267)のテキスト表示





www.eznavi.net