多个套接字可以与 UDP 的同一端口相关联吗? [英] Can multiple sockets be associated with same port for UDP?
问题描述
我认为多个套接字可以与同一个 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.
这篇关于多个套接字可以与 UDP 的同一端口相关联吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!