多个tcp连接使用同一个端口
我记得以前看过说一个端口只能用于一个连接。自己也试了下用一个端口来建立多个tcp连接,只有第一个能用。
怎么才能让多个连接都使用一个端口呢
像80 21这些的这样。
[解决办法]
理论上一个端口可以用于多个连接。TCP的要求是:
local_ip:local_port <==>remote_ip:remote_port这个4个元素合在一起在本机是唯一的。比如你的本机有一个socket server listen on port 80, 那么可以有2台不同的机器同时访问你的端口80。
你的ip: 192.168.0.1, 客户端1 IP: 192.168.0.2, 客户端2 IP: 192.168.0.3,他们连到你的机器80端口以后,TCP连接可以是:
192.168.0.1:80 <==> 192.168.0.2:60011
192.168.0.1:80 <==> 192.168.0.3:60011
TCP和UDP可以共用一个端口,比如一个tcp程序listen on port 80,另一个udp可以listen on port 80.