簡體   English   中英

如何在VxWorks 5.5中接收UDP組播

[英]How to receive UDP Multicast in VxWorks 5.5

我無法在VxWorks 5.5下接收UDP多播。 我已加入多播組:

setsockopt(soc, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &ipMreq, sizeof (ipMreq));

相鄰Windows計算機上的類似代碼確實會接收多播。 我可以從VxWorks發送多播; ifShow()表示接口支持多播; 在內核配置中啟用了MCAST_ROUTING,但仍無法接收多播。

編輯 :我需要在RealTek以太網驅動器RX配置寄存器中設置一個位,以使多播能夠傳遞到應用程序層。

#define RTL_RXCG_AM           0x04      /* Accept Multicast */

您是否正在檢查Join setsockopt()調用上的返回值以確保它實際上是成功的? 過去,我在VxWorks 5.5上遇到了一個特定的問題,即我的多播聯接在不應該出現的情況下失敗了。 我相信我們必須從WindRiver獲得新的庫來解決此問題。

編輯:我不知道有什么特定技巧可以使多播與VxWorks一起使用。 它應該使用標准的BSD套接字操作。 如果接口可以正確接收單播流量,並且網絡分析儀(例如,Wireshark)顯示正在發送多播JOIN,並且正確形成了入站多播數據包,則我懷疑是驅動程序問題。 過去,WindRiver的支持對我們解決此類問題非常有幫助。 我不知道您是否與他們簽訂了支持合同以獲得該級別的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM