这504报错应该怎么办做,都看不懂这个报错

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

第一步是启动8000端口
第三步是建立一次握手连接,ctrl c是退出客户端能看到四次挥手
红銫区域是三次握手,蓝色区域是一次数据发收绿色区域是四次挥手(有一个ack包被合并了所以只有三行)

为什么服务端收到数据后有时要等40ms后才会ack?
这是因为Delay ACK的原因(Linux上默认是关闭delay ack)delay ack的累积确认让多个报文的ack合成一个ack返回。而捎带确认就是如服务器有返回数据那么会带仩上一个ack。

它是Delay ACK的另一种相对的算法它旨在减少网络中的tcp报文数量,Nagle默认是开启的

  • 一个TCP连接上最多只有一个未确认的未完成的小分组,在它到达目的地前不能发送其它分组
  • 未收到上一个小分组ack前tcp会收集其它小分组组成一个大分组待收到ack后发送出去

如果同时开启Delay ACK和Nagle将会導致每次数据请求都会延迟40ms,如果对实时性有很高要求可同时关闭delay ack和nagle,它们都会导致ack包延迟发送

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

第一步是启动8000端口
第三步是建立一次握手连接,ctrl c是退出客户端能看到四次挥手
红銫区域是三次握手,蓝色区域是一次数据发收绿色区域是四次挥手(有一个ack包被合并了所以只有三行)

为什么服务端收到数据后有时要等40ms后才会ack?
这是因为Delay ACK的原因(Linux上默认是关闭delay ack)delay ack的累积确认让多个报文的ack合成一个ack返回。而捎带确认就是如服务器有返回数据那么会带仩上一个ack。

它是Delay ACK的另一种相对的算法它旨在减少网络中的tcp报文数量,Nagle默认是开启的

  • 一个TCP连接上最多只有一个未确认的未完成的小分组,在它到达目的地前不能发送其它分组
  • 未收到上一个小分组ack前tcp会收集其它小分组组成一个大分组待收到ack后发送出去

如果同时开启Delay ACK和Nagle将会導致每次数据请求都会延迟40ms,如果对实时性有很高要求可同时关闭delay ack和nagle,它们都会导致ack包延迟发送

我要回帖

更多关于 504报错应该怎么办 的文章

 

随机推荐