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

最佳答案

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

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

关于sockets - 在TCP/UDP中解复用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31341145/

10-17 01:05