在TCP / UDP中解复用

时间:2015-07-10 12:45:55

标签: sockets tcp udp

我知道这个问题有一个较旧的答案here,虽然它似乎没有回答我的问题。如果在UDP中,两个具有不同IP和不同端口的人将数据发送到同一个套接字的同一服务器(相同的IP)(因为在UDP中每个应用程序只有一个套接字 - 如果我错了就纠正我),服务器如何识别哪个人是谁?
如果这两个人使用(通过运气与否)相同的端口作为源端口但具有不同的源IP,它会改变什么吗?

1 个答案:

答案 0 :(得分:1)

服务器可以在同一端口上从两个不同的IP /端口对(IP可以相同,端口可以相同,或两者可能不同)接收UDP数据报。除了数据之外,recvfrom()函数还返回数据报的源IP /端口。

如您所引用的问题所述,UDP套接字仅由本地IP和本地端口定义。传出和传入数据包的远程IP和端口可能不同。