簡體   English   中英

如何在多個接口上綁定到相同的UDP端口

[英]How to Bind to the same UDP port on multiple interfaces

我有兩個網絡接口,並試圖綁定到兩個接口上的同一個UDP端口,但是當我嘗試綁定到第二個EADDRINUSE時出現錯誤。 當我綁定到套接字時,我傳遞了一個sockaddr* ,在其中設置了端口和要使用的唯一IP地址。

我必須使用套接字選項SO_REUSEADDR嗎? 這將允許在任一套接字上接收消息,還是將消息轉到與其綁定的IP地址匹配的套接字?

您可以bind(2)一個套接字bind(2)到用於IPv4的 INADDR_ANY或用於IPv6的 in6addr_any (您不必這樣做,但這是通常的方法)。 這將使該單個套接字能夠接受來自包裝盒上所有網絡接口的數據包。

然后, SO_REUSEADDR套接字選項將允許您將其他套接字綁定到更特定的地址,即,綁定到各個接口和相同的端口。

數據包將在套接字上接收,該套接字綁定到與給定數據包的目標IP地址最匹配的地址。

暫無
暫無

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

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