簡體   English   中英

在單個端口上配置多個UDP套接字

[英]Configuring multiple UDP sockets on a single port

我正在嘗試使用UDP實現點對點聊天應用程序,我想知道如何將程序擴展到多個用戶。

據我了解,UDP只需要一個套接字即可使用recvfromsendto函數發送和接收數據。 使用傳遞給這些函數的地址字段中的數據,我可以確定與之通信的用戶。

我想知道我是否可以在同一個端口上為我正在與之交談的每個對等端創建多個UDP套接字。 這樣,如果數據來自對等方X,那么數據將轉到UDP端口並傳遞到“綁定”到X地址的相應套接字。

無論如何我仍然可以在使用UDP時這樣做嗎?

是的,您可以在綁定UDP套接字(包括第一個套接字的所有套接字)之前指定SO_REUSEADDR(Linux上的SO_REUSEPORT),然后將每個套接字連接到相應的目標,但實際上沒有必要。 只需根據源地址調度到達單個套接字的每條消息。

暫無
暫無

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

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