本文主要是介绍tcp三次握手都没有建立, 还谈什么业务包呢?------聊聊最近的一个扯皮问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们知道, udp是不要建立连接的, 我们甚至可以对着一个非实际的ip(比如1.1.1.1)的某端口发包, 此时, 如果抓包, 我们可以看到, 发送方是发了业务包的。 但是, 在tcp中就不一样了, 三次握手没有建立的话, 谈不上业务数据包。
来说说这样一个问题: 最近, 我作为客户端去请求服务端, 当请求量比较小的时候, 一切正常, 我能收到正确的返回包, 但是, 当请求量的并发性很高的时候, 我收不到正确的返回包。 我把日志贴给服务端的同学, 说没有返回数据。 结果服务端的同学又把他的日志贴给我, 说请求没有过去。 日志日志何时了?
之前说过了, 日志的说服力不强, 那还是抓包吧, 经抓包发现, 在高并发时候, 服务端会概率地拒绝客户端的连接, 导致三次握手无法建立, 所以, 客户端根本就没有发送业务包, 服务端自然也就不可能收到业务包。 那为什么服务端拒绝呢? 查后得知, 服务端不稳定, 在面对高并发时, 会出现概率重启。 原来如此。 有了这个证据后, 就让服务端端同学去定位为什么不稳定, 从此, 不再扯皮。
还是那句话, 抓包, 抓包, 抓包。
当然, tcp的基础知识也不能不会。
这篇关于tcp三次握手都没有建立, 还谈什么业务包呢?------聊聊最近的一个扯皮问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!