![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tcp
wsk8520
这个作者很懒,什么都没留下…
展开
-
为什么TCP会出现粘包/拆包?
为什么会出现粘包/拆包? 1.应用程序写入的数据大于套接字缓冲区大小,这将会发生拆包。 2.应用程序写入的数据小于套接字缓冲区大小,网卡将应用多次写入数据发送到网络,这将会发生粘包。 3.进行MSS(最大报文长度)大小TCP分段,当报文长度-TCP头部长度>MSSd的时候将会发生拆包。 4.接收方法不及时读取套接字缓冲区数据,也会发生粘包 粘包只在TCP这一层发生的,我们本身是在TCP上层应用层里面,应用层是在socket交互的,也就是说跟一个buffer的缓冲区交互...原创 2021-04-14 21:24:42 · 468 阅读 · 0 评论 -
TCP的三次握手和四次挥手
TCP为什么需要三次握手? 三次握手的主要目的是保证连接是双工的。可靠更多的是通过重传机制。 双工指的是:我的发送和接收都是可以同时执行的。并且连接的双方都可以互相发送和接收。 三次握手的详解 三次握手数据包的流向: 首先客户端去向服务端发送同步(SYN)包去请求连接, 服务端响应确认(ACK)包,表示你可以连接, 客户端相应的收到确认(ACK)包去建立这个连接,至此三次握手完毕。 四次挥手的详解 四次挥手数据包的流向: 主动连接方去发送同步(FIN)包去请求关闭, 被动.原创 2021-03-17 20:18:55 · 78 阅读 · 0 评论