关于端口数量的问题

来源:11-12 套接字与套接字编程

陌上花开444855

2019-08-23

端口最多有65535个,tcp断开连接后需要等4分钟才能释放断开,我在本地跑了10次个客户端,端口在超过65534后马上又从1031开始了,并没有等4分钟就又可以用了。
下面是服务端打出来的一部分日志:
(‘127.0.0.1’, 65530)
(‘127.0.0.1’, 65531)
(‘127.0.0.1’, 65532)
(‘127.0.0.1’, 65533)
(‘127.0.0.1’, 65534)
(‘127.0.0.1’, 1031)
(‘127.0.0.1’, 1032)
(‘127.0.0.1’, 1034)
(‘127.0.0.1’, 1036)
(‘127.0.0.1’, 1037)
(‘127.0.0.1’, 1038)

写回答

1回答

咚咚呛

2019-08-23

同学的意思是想重现2MSL等待的情况吗?

在这里需要注意一点,2MSL等待是发送在主动关闭TCP连接的一侧的,如果是客户端连接服务端,那么客户端在主动关闭连接的时候,是客户端会进入2MSL等待的状态。

如下图是老师在本机启动了十个客户端,当客户端关闭以后,通过netstat命令,可以查看到连接到6666的10个TCP连接都进入了TIME_WAIT状态。

//img1.sycdn.imooc.com/szimg/5d5ffc6809715ed712560466.jpg

MSL一般设置为2分钟,这是TCP协议RFC793定义的,但具体实现的时长还需要看操作系统的内核。

0
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程