将应用程序连接到Rug.osc客户端

时间:2014-12-22 11:40:53

标签: sockets osc

我有一个应用程序Kinectv2osc,它使用rug.osc在我的本地计算机上发送UPD数据包。但似乎它绑定了端口,我无法连接puredata(OSCdump)来监听这些osc消息。

如果我以相反的顺序启动应用程序,puredata可以连接,但Kinectv2Osc不能连接。

我猜两个应用程序都试图绑定端口,那么应该责怪哪个应用程序?是否有任何解决方法可以使这两个应用程序协同工作?

1 个答案:

答案 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是我的项目。