关于网络协议的学习笔记

本文详细介绍了TCP网络协议中的粘包和分包问题,包括原因、影响以及解决策略。通过实例解析了如何处理粘包分包,如使用固定长度、特殊标识或字节长度作为数据包结束的标志。此外,讨论了TCP传输对象的序列化方法,并列举了Java中的主流网络框架。最后,提到了Netty在构建游戏服务器中的优势,如低延迟、高并发、灵活的编码解码定制等。
摘要由CSDN通过智能技术生成

关于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为提高传输效率,将一个包分配的足够大,导致接受方并不能一次接受完。

影响&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值