关于网络协议的学习笔记

关于TCP网络协议的粘包分包的问题:

https://www.csdn.net/gather_25/MtTakgysOTMtYmxvZwO0O0OO0O0O.html


为什么要处理粘包分包

由于TCP协议本身的机制,客户端与服务器会维持一个连续发送的数据。如果发送的网络数据包太小,TCP会合并较小的数据包再发送,接收端便无法区分那些数据是发送端分开的,因此便产生了粘包问题。如果数据太大,TCP有可能会把数据拆成多分发送,接收端一次只能接收到部分信息,因此便出现分包问题。


最近关于网络socket编程的自己的demo学习 项目,git地址:

https://github.com/yuhezhangyanru/javaScoketGroupMessage.git


关于客户端和服务器的socket通信过程说明,相对写的能看明白一点:

https://www.cnblogs.com/Jasxu/p/Java-Socket.html


关于服务器阻塞socket模型的介绍和会出现的状况说明写的比较好,以及关于半包、粘包、分包的解释比较好

https://www.jianshu.com/p/cde27461c226

本文中引用别人的:

5.1 半包

接受方没有接受到一个完整的包,只接受了部分。

原因:TCP为提高传输效率,将一个包分配的足够大,导致接受方并不能一次接受完。

影响&#

猜你喜欢

转载自blog.csdn.net/Stephanie_1/article/details/107711658
今日推荐