我有一个应用程序Kinectv2osc,它使用rug.osc在我的本地计算机上发送UPD数据包。但似乎它绑定了端口,我无法连接puredata(OSCdump)来监听这些osc消息。
如果我以相反的顺序启动应用程序,puredata可以连接,但Kinectv2Osc不能连接。
我猜两个应用程序都试图绑定端口,那么应该责怪哪个应用程序?是否有任何解决方法可以使这两个应用程序协同工作?
答案 0 :(得分:0)
更多细节会有用,但这可能会有所帮助。
您可能在本地和远程端口上发生冲突,默认情况下,Rug.Osc使用相同的本地和远程端口。如果另一端做同样的事情,这可能是个问题。可以允许应用程序/套接字很好地播放并共享端口,而Rug.Osc尝试这样做,但其他人可能感觉不一样。
要解决此问题,您可以覆盖Rug.Osc也将绑定的本地端口。如果使用0,则操作系统将选择未使用的端口。
IPAddress address = IPAddress.Parse("127.0.0.1");
int remotePort = 12345;
// force the OS to select an unused port
int localPort = 0;
using (OscSender sender = new OscSender(address, localPort, remotePort))
{
sender.Connect();
sender.Send(new OscMessage("/test", 1, 2, 3, 4));
}
免责声明:Rug.Osc是我的项目。