[英]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.