前回、OSCの通信を見ようと思ったらWindowsではlocalhostの通信がキャプチャできないことが判明したので、外部から接続してみようと思います。
筆者のもう一台のパソコンはMACなのでしょうがないのでコイツでやってみようと思います。
筆者のMACには既にXCodeという開発環境が入っているのですが、生のMACではコンパイルとかできないかもしれません。MACについてるDVDでインストールするなり、ダウンロードするなりしてインストールしておきましょう。
ここでは開発環境をインストールしてある前提で書きます。
1.libloというライブラリのソースをダウンロードしてきます。
sourceforge.net/projects/liblo/
2・ダウンロードしたファイルを解凍します。
3.アプリケーション->ユーティリティ->ターミナルを起動しておきます。
4.ターミナルで"cd "と打ち込んだ後に解凍したフォルダをターミナルにドラッグ&ドロップします。
5.Enterを押してディレクトリを移動します。
6."./configure"を実行します。するとなにやら作業が始まるのでほっときます。
7.終わったら"make"を実行します。またなにやら作業が始まるのでほっときます。
8.終わったら"sudo make install"と打ち込みます。するとパスワードを聞いてくるので設定してあるパスワードを入力します。
インストールが終わると"/usr/local/bin"の中に"oscdump"と"oscsend"ができています。
"cd /usr/local/bin"と打ち込んでディレクトリを移動します。
とりあえず"oscsend"とだけ打ち込んでヘルプを眺めておきます。一番下に記述例があります。
9.Windowsのコマンドプロンプトを開いて”ipconfig"を実行してIPアドレスを調べておきます。
ここではIPアドレスが"192.168.0.10"だったとします。
"OSC.NET Sample"の"Local Port"を"6600"にして"Connect"をクリックします。
10.MACのターミナルから"oscsend 192.168.0.10 6600 /Test i 100"と入力すると"OSC.NET Sample"の"Receive"の"Address"に"/Test"、Portに"100"と表示されれば成功です。
11.ネットワーク上にどんなデータが流れているかを確認するために"Microsoft Network Monitor"を立ち上げます。"Select Networks"のローカルエリア接続にチェックが入っていることを確認して"New Capture"をクリックします。
次に"Start"を押してキャプチャを開始します。このときに"Display Filter"に"UDP.Port == 6600"と入力して"Apply"をクリックしておくとOSCのパケットだけ表示されます。
12.もう一度ターミナルからOSCパケットを送信すると、"Frame Summary”にパケットが表示されます。
パケットをクリックすると"Frame Details"に詳細が表示されます。
OSCパケットは"UDP"の"+"をクリックした後の"UDPPayloadData"をクリックすると”Hex Details"に色付きで表示されます。

この表示を見ると4バイト境界で送信しているのでアドレス"/Test"のあとに3バイトのnull、タイプタグストリング",i"の後に2バイトのnullがあることがわかります。ちなみに数値100は16進数表示で64となっています。
PR