本文共 312 字,大约阅读时间需要 1 分钟。
TCP连接在任意一端始终处于某一状态,现状可通过netstat命令查看。上图显示了服务器端和客户端典型的状态转移图,粗实线表示客户端连接的状态转移路径。
在编程中,通过设置网络操作的超时时间可以优化性能。无论使用何种语言或网络库,你都可以配置connect、read、write等操作的超时时间。
值得注意的是,connect方法的超时设置在不同内核实现中有最大限制,即使你在代码中设置的超时值超过了这个最大值,实际操作仍将以该最大值为终点。
TCP连接的建立从客户端发送SYN包开始。如果SYN包未收到回复,内核会重试发送SYN包,每次重试间隔逐渐增加,以防止过多SYN包打扰网络性能。
转载地址:http://etzfk.baihongyu.com/