2

既然可以构造一个 tcp 套接字和一个监听同一端口的 udp 套接字,那么是否可以构造多个在同一端口上侦听 udp 消息的套接字,每个套接字都侦听不同的源端点?

在设计方面,我目前的印象是,“正确”的做法是让一个套接字侦听所有 udp 消息并让它在应用程序级别确定来源。

4

1 回答 1

3

使用 socket 选项可以让多个 UDP 套接字在同一个本地 IP/端口对上侦听SO_REUSEADDR,但是没有办法告诉每个套接字只接受其预期的远程 IP/端口对的数据包,所以不能保证哪个套接字将接收哪个数据包。所以是的,正确的选择是使用单个套接字来查看每个接收到的数据包的发送 IP/端口并相应地引导数据包。

于 2012-04-05T16:10:33.777 回答