由于可以构造一个侦听同一端口的tcp套接字和udp套接字,是否可以构造多个套接字来监听同一端口上的udp消息,每个套接字监听不同的源端点?
从设计角度来看,我目前的印象是“正确”的方法只是让一个套接字监听所有udp消息并让它确定应用程序级别的来源。
答案 0 :(得分:2)
使用SO_REUSEADDR
套接字选项可以让多个UDP套接字侦听同一本地IP /端口对,但是无法告诉每个套接字只接受其预期远程IP的数据包/端口对,因此无法保证哪个套接字将接收哪个数据包。所以,是的,正确的选择是使用单个套接字来查看每个接收到的数据包的发送IP /端口,并相应地指示数据包。