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

2023-09-07 12:52:54 作者:心与口不同

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

I think multiple sockets can be associated with same TCP port.

但是同样的事情也适用于 UDP 吗?

But can the same thing work for UDP?

推荐答案

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

The only way to associate multiple sockets with a port in TCP is by listening and then accepting.

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

The purpose in that case is to give every incoming client a unique socket so as to keep their byte streams separate.

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

You don't need that in the case of UDP because there are no byte streams. You can write an entire UDP server using a single UDP socket. You just read, despatch to a handler for that client, the handler writes the response back via the same socket.