如果您问是否可以从两个客户端系统打开一个套接字到一个服务器,其中相同的源端口和扩展端口恰好相同,那么是的,这是可能的。
# connections as seen by server
src_ip sce_port dest_ip dest_port
192.168.1.5 1234 192.168.1.1 1234
192.168.1.4 1234 192.168.1.1 1234
Run Code Online (Sandbox Code Playgroud)
套接字由(源地址+源端口+目的地址+目的端口)标识。两个目标地址将不同,因此一切正常。
这在现实世界中不太可能经常发生,因为源端口通常是从可用于传出连接的端口范围中选择的。
# connections as seen by server you would most likely see in the real world
src_ip sce_port dest_ip dest_port
192.168.1.5 49345 192.168.1.1 1234
192.168.1.4 51284 192.168.1.1 1234
Run Code Online (Sandbox Code Playgroud)
如果您问具有单个 IP 地址的单个系统是否可以从相同的源地址 + 端口打开到相同目标地址 + 端口的两个连接,那么答案是否定的。当应用程序的第二个实例尝试绑定到该源地址+端口组合时,它将收到错误消息。
# cannot happen/invalid, client can't bind
src_ip sce_port dest_ip dest_port
192.168.1.4 1234 192.168.1.1 1234
192.168.1.4 1234 192.168.1.1 1234
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
710 次 |
最近记录: |