Socket网络编程
文章平均质量分 73
金士顿
这个作者很懒,什么都没留下…
展开
-
深入理解TCP:序列号、确认号和自动ACK的艺术
TCP的设计精妙绝伦,它通过序列号和确认号的使用,加上自动ACK报文的发送机制,提供了一种在不可靠的网络环境中可靠传输数据的方法。这些机制的自动化和对应用层的透明性,使得开发者可以在构建网络应用时,将注意力集中在应用逻辑上,而不是底层的传输细节。正是这种设计,使TCP成为了互联网数据传输的基石之一。原创 2024-03-15 16:49:59 · 610 阅读 · 0 评论 -
三次握手seq和ack的流程 TCP协议栈seq和ack深层理解
是的,在TCP/IP协议中,三次握手过程确实涉及到序列号(Sequence Number, 简称Seq)和确认号(Acknowledgment Number, 简称Ack)的交换。这个过程是为了建立可靠的连接,确保数据能够按顺序、完整无误地在网络中传输。原创 2024-03-15 16:47:27 · 1263 阅读 · 0 评论 -
深入理解TCP的四次分手过程
在一个TCP连接中,数据的发送和接收两端都需要进行同步,确保数据能够按序到达并正确处理。当通信的一方完成数据传输后,就需要通过一定的过程来关闭连接,以释放系统资源。通过本文的探讨,我们希望能够帮助读者更好地理解TCP连接的关闭过程,以及这一过程在现代网络通信中的重要性。TCP连接的终止过程,通常称为“四次分手”,是理解TCP协议的重要部分。状态对于TCP连接的可靠终止非常重要,但在高负载的服务器上,大量的。状态的连接,以优化系统资源的使用和提高服务器的处理能力。在TCP的四次分手过程中,原创 2024-03-14 11:39:39 · 611 阅读 · 0 评论 -
TIME_WAIT或者CLOSE_WAIT的原因以及如何解决
转载地址:https://cloud.tencent.com/developer/article/2093503TCP的四次挥手MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”.2MSL在RFC 793协议中给出的建议是两分钟, 但是在Linux下一般时30秒, 也就是说2MSL就是60秒.转载 2023-02-01 11:32:52 · 4557 阅读 · 0 评论 -
关于httpclient中多次执行execute阻塞问题,卡住不动了解决方式。
httpclient多次进行post请求的时候,会阻塞,无法循环执行(不知道现在的版本还会不会)。网上查过解决方法,在循环体内每次new一个httpclient可以解决,但是感觉不是常规解决方案,最终通过以下方式解决。转载地址:https://blog.csdn.net/li939403600/article/details/89050031。解决方式很简单,其实是因为response结果集未关闭,在做完数据结果处理后关闭结果集即可。以前写百度贴吧抢二楼程序遇到的问题,此处做一个记录。转载 2023-01-29 17:21:46 · 1433 阅读 · 4 评论 -
tcp 关闭socket 不发 FIN(RST)
一般情况下,当TCP连接主动关闭时,会向对端发送一个FIN,对端会获得一个读事件,调用read时返回0,表示读到一个EOF,读结束。我们再来验证一下,在server中先调用read()清空读缓冲区后再close(),此时发现client会收到FIN了。我们从内核中找答案。下面是一个简单的客户端程序,连接成功后发送1024字节的数据,然后调用read()代码里面写得很清楚,如果你的接收缓冲区中还有数据,协议栈就会发送RST而不是FIN。首先是一个简单的服务器程序,accept()后睡眠5s钟,然后关闭连接。转载 2023-01-05 15:42:33 · 588 阅读 · 0 评论