2

我正在创建一个系统,其中以不同语言编写的代理需要使用开放式声音控制 (OSC) 协议通过局域网进行通信。一个控制器代理需要向多个客户端代理广播信息。我更喜欢使用多播,这样出现在网络上的任何代理都能够立即接收消息而无需建立连接。我已经成功地使用 MulticastSocket 在 Java 中编程,但似乎许多 OSC 库(Java 中的 NetUtil 和 JavaOSC,MaxMSP 中的 udpsend 和 udpreceive)不支持多播发送。

我做对了吗?OSC 库是否需要支持多播才能发送多播?或者可以简单地通过发送到正确的 IP 地址来实现多播(如果可以的话,您能否展示如何使用 Java 中的 NetUtil 库和/或 MaxMSP 中的 udpsend 和 udpreceive 对象来实现这一点)?

4

1 回答 1

0

你做对了。OSC 库需要支持多播。我只能说 c++,你基本上必须正确设置套接字选项。许多 OSC 库不这样做。

看看这个关于如何在现有库中启用广播/多播的讨论以获得一个想法: 使用 ofxOsc 广播

在 java 中:类 StandardSocketOptions

于 2015-02-27T09:29:33.013 回答