同僚と私は、Windows 7 のほぼ同一のインストールを実行している同一のハードウェア上で同一のコードを持っています。私たちは両方とも Unity3d 内から C# を使用しており、unity3d-tuioパッケージの最新の SVN チェックアウトを使用しています。TUIO は、タッチスクリーン操作に関するデータを送信するための Open Sound Control ベースの UDP プロトコルです。私のマシンでは、アプリケーションを初めて実行したときは問題なく動作しますが (ただし、起動時に約 5 秒の奇妙な遅延があります)、その後アプリを起動すると、次の例外がスローされます。
SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted.
System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end)
System.Net.Sockets.UdpClient.InitSocket (System.Net.EndPoint localEP)
System.Net.Sockets.UdpClient..ctor (System.Net.IPEndPoint localEP)
Tuio.TuioTracking.Start () (at Assets/Plugins/MindstormTuio/Scripts/TuioReceiver/TuioTracking.cs:70)
UnityEngine.Debug:LogException(Exception)
私の同僚の場合、起動時に奇妙な遅延はなく、アプリは何回でも再起動でき、悪影響はありません。
自分のマシンで実行すると、アプリケーションと Unity エディターが終了した後でもnetstat -a -n -o
、UDP 接続 -- -- が開いていることがわかります。初めてアプリを実行したときに、PID (この場合は 6088) が Unity.exe (Unity エディター) であることを確認しましたUDP 0.0.0.0:3333 *:* 6088
。tasklist /F "PID EQ 6088"
アプリが初めて実行されると、Unity.exe はポート 3333 を取得し、解放しないようです。Unity エディターを終了した後でも、UDP 0.0.0.0:3333 *:* 6088
エントリは netstat に表示されます。
同僚のマシンでは発生しないため、私の開発マシンに固有の構成の問題のようです。
この問題を引き起こす可能性のある構成の問題は何ですか?