簡體   English   中英

在同一端口上發送/接收單播和多播UDP消息的優點/缺點?

[英]Pros/Cons of sending/receiving unicast and multicast UDP message on same port?

我已經編寫了一個C ++應用程序來通過套接字發送/接收UDP消息。 該應用程序能夠發送/接收多播和單播消息。

我想知道,將單個端口用於多播和單播消息是否可以? 還是為單播和多播消息設置單獨的端口更好?

我期望每秒大約100條以上的消息,包括單播和多播。

應該沒事。 只是不要綁定到多播地址或網絡接口地址(使用0.0.0.0:port),也不要連接到遠程地址。 您將看到去往該端口的所有流量。

只要只有一個套接字,接收單播和多播通信就不會有問題。

另一方面,如果在同一端口上打開了兩個套接字,則單播可能會出現一些不一致的行為。

在同一端口上有兩個套接字的情況下,到達該點的所有多播流量都將發送到兩個套接字。 但是,傳入的單播流量要么隨機出現在兩個套接字上,要么隨機出現在兩個套接字之一上。 確切的行為取決於所討論的操作系統。

由於要同時接收單播和多播,因此請使用單個套接字。 除非使用多播,否則請勿在同一端口上使用多個套接字。

暫無
暫無

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

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