社区
C++ 语言
帖子详情
TCP通信协议包头定义
马壮mz
2015-07-27 09:18:11
使用TCP通信协议时,数据报中有无必要定义包头包尾呢,Tcp协议能完全彻底的确保通信内容的正确与否,
...全文
630
4
打赏
收藏
TCP通信协议包头定义
使用TCP通信协议时,数据报中有无必要定义包头包尾呢,Tcp协议能完全彻底的确保通信内容的正确与否,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
www_adintr_com
2015-07-27
打赏
举报
回复
TCP 传输的内容是有校验的,保证传输的准确性,如果校验失败会要求发送方重新发送。 如果真有那么巧,校验和字段和某个数据同时在传输中产生了错误,而且错来刚好匹配上了校验和,那还是有可能收到错误数据的。不过这种情况出现的概率低得可以认为它不存在。
jiqiang01234
2015-07-27
打赏
举报
回复
1、tcp传输消息时需要自定义包头包尾(即帧协议),因tcp是二进制流协议,没有消息边界,无法自动完成“分包”的功能 2、自定义帧协议可以提高tcp的可靠性(tcp不保证100%可靠收发),更强的可靠性需要自定义来保证 3、自定义的帧协议能更好的根据业务逻辑来定义数据
飞翔的薄荷
2015-07-27
打赏
举报
回复
包头应该要加标示,tcp没问题,但是你自己写的代码解析错误,导致数据混乱,也是有可能的。
赵4老师
2015-07-27
打赏
举报
回复
不知道有多少前人掉在TCP Socket send(人多)send(病少)send(财富) recv(人多病)recv(少财富) 陷阱里面啊!
http://bbs.csdn.net/topics/380167545
socket编程里,如何设计自
定义
通信协议
的
包头
?
本文探讨了在自
定义
TCP
通信协议
时
包头
的设计,包括
包头
的主要目的、必要性及实现方式。讨论了
包头
标识的选择、校验方法,并提出在实际应用中消除消息边界的几种方法。
fastdfs-
通信协议
-自
定义
指令码拓展
本文介绍了FastDFS
通信协议
,其采用二进制
TCP
通信协议
,数据包由
包头
和包体组成,
包头
10字节。列举了公共命令码和发送给storage server的命令码。还讲述了fastdfs storage自
定义
指令码,如自
定义
计算文件md5的命令码,涉及相关代码文件的
定义
和函数编写。
一个简单的自
定义
通信协议
(socket)
本文介绍了如何自
定义
TCP
通信协议
,以解决分包和黏包问题。通过创建
包头
(包含包类型和包长度)和包体,确保数据完整传输。示例代码展示了客户端和服务端如何实现数据发送与接收,强调了在设计协议时需注意的问题,并提到了mina和netty框架在处理此类问题上的应用。
socket应用之从电脑发送图片到手机(2)之发送和接收数据
本文介绍了在
TCP
通信中进行图片传输的方法,包括建立简单的
通信协议
来标识数据包,
定义
包头
以包含数据名称和长度,以及发送和接收端的处理流程。发送端将图片转为Byte数组,附加
包头
信息,通过正则表达式识别
包头
。接收端则识别
包头
,拼接数据,确保数据完整。文章强调了批量发送大文件时
通信协议
的重要性,并指出文字和图片的编码差异。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章