多个套接字可以与UDP的相同端口关联吗?

Ter*_*ser 10 networking udp tcp

我认为多个套接字可以与相同的TCP端口相关联.

但同样的事情可以用于UDP吗?

use*_*421 10

将多个套接字与TCP中的端口关联的唯一方法是通过侦听然后接受.

在这种情况下的目的是为每个传入的客户端提供一个唯一的套接字,以便将它们的字节流分开.

在UDP的情况下,您不需要它,因为没有字节流.您可以使用单个UDP套接字编写整个UDP服务器.您只需读取,发送到该客户端的处理程序,处理程序通过相同的套接字写回响应.

  • @EJP,我错了.DATAGRAM SOCKETS由两元组标识,而STREAM SOCKETS由四元组标识.+1为你的答案 (2认同)

caf*_*caf 6

是的,也可以使用单个UDP端口使用多个套接字.

  • 需要注意的是,只有广播和多播数据包将被多路复用,单播数据包才会被传送到第一个套接字. (5认同)
  • @entropy:这是默认行为,但许多操作系统允许程序请求禁用该行为.有关详细信息,请参阅[此答案](http://stackoverflow.com/a/14388707/134633). (2认同)