我在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的土地......