首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

:TCP怎么 封包和解包

2012-03-23 
请教高手:TCP如何 封包和解包我的项目现在是服务器客户端都只有一个固定的结构体。收发数据没问题,但是功能

请教高手:TCP如何 封包和解包
我的项目现在是服务器客户端都只有一个固定的结构体。
收发数据没问题,但是功能多了后用一个结构体很不方便。
我想把它改成 包头+包体形式(一个固定包头加各种类型的包体)但是这涉及到封包,解包过程 。
希望有具体的简单代码示例!感激不尽!

[解决办法]
固定的包头是一个结构体,整个包的结构体由包头+内容。
[解决办法]
1.加长度
在包头里加一个表示包长度的域,发送前赋值
收到数据时,根据读到的长度把数据写到结构体中
读完一个包再以同样原理读下个
2.加特殊字符区分边界
比如用"#"区分两个包的边界,真正的字符"#"则写成转义字符

第一种用的比较多
[解决办法]

探讨

问题是 我接受数据时不知道该包的大小,如何接受?难道可以在不知道包大小的情况下,预先读取数据的包头部分吗?

热点排行