簡體   English   中英

C#中具有多個網絡的UDP組播

[英]UDP Multicast with multiple networks in C#

最近,我已將程序更改為使用較少資源的程序,該程序之前使用TCP / IP進行UDP多播。

我遇到的問題是,在計划使用它的幾台機器上,有兩個或多個運行連接的netwrok卡。

我可以從程序級別選擇要進行多播的連接嗎? 我嘗試更改系統中的其他設置(例如網絡優先級),但沒有任何效果。

對於多播,我使用:

UdpClient publisher = new UdpClient(IP, Port);
publisher.Send(data, data.Length);

其中IP是多播范圍中的一個(主要是230.XXX)。

在以前是TCP / IP的情況下,我可以在特定於某些網卡的IP上指定EntryPoint,但是在這里看來,這是不可能的,因為我需要在多播地址上而不是在我的機器上發送數據包。 。

感謝您的任何幫助。

使用多播時,您仍然必須調用Bind 換句話說,偵聽器可以選擇偵聽的網卡。 當您發送一條消息時,本地網絡堆棧將決定需要自動打開哪些NIC。 該UdpClient類使用在構造函數中傳遞的數據調用Bind。 那必須是您的接收端點。 參見此處: https : //msdn.microsoft.com/zh-cn/library/system.net.sockets.udpclient(v=vs.110).aspx 然后,在發送數據時,使用帶有端點參數的Send方法。 在其中傳遞目標地址。

暫無
暫無

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

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