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