我在MATLAB中编写了一个应用程序来打开一个UDP套接字并侦听传入的数据报。基本上,这样的事情:收听多播UDP地址
u = udp(rHost, rPort, 'LocalHost', lHost, 'LocalPort', lPort);
u.DatagramAvailableFcn = @(o,e) operateOnData(o,e);
fopen(u);
当我以单播方式听东西的时候,这很有用。但我现在想能够监听多播流量。显然,this isn't possible in MATLAB。
的解决方法是,按照上面的链接,
的解决方法是连接到一个UDP多播,您可以执行以下操作:
- 使用Java多播套接字进行访问直接来自MATLAB。有关更多信息,请参阅Sun的“核心java.net”类的javadoc或教程,特别是“java.net.MulticastSocket”。这可以在这里找到:
http://java.sun.com/j2se/1.4.2/docs/api/java/net/MulticastSocket.html
我已经在Java中没有背景,所以这是对我的斗争。我只能够运行下面的实例化一个对象MulticastSocket
:
>> ms = javaObject('java.net.MulticastSocket');
我环顾四周,发现我还需要一个java.net.Datagram
对象实际上包含的输入流。
如何在MATLAB的上下文中使用MulticastSocket
和Datagram
对象?我试图复制u.DatagramAvailableFcn
的功能,即一旦我收到数据报,就会触发一个回调操作数据报的内容。
编辑:看起来像this is how I want to go about this在Java方面,但现在它越来越这回MATLAB的土地......