首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

CMPP协议兑现

2013-01-02 
CMPP协议实现CMPP协议实现啊的时候,有以下问题望各位大神帮忙看看:1.里面的需要对数据进行编码,如果是C来

CMPP协议实现
CMPP协议实现啊的时候,有以下问题望各位大神帮忙看看:
1.里面的需要对数据进行编码,如果是C来实现的话是不是定义一些结构体就行了?
2.分包传输的时候,如果一个结构体传输了一半被终止了,下次接收的时候怎么从已接收的部分开始继续接受啊?例如一个完整的包A,B分为A1,A2,A3,B1,B2,B3.在客户端接收到的时候需要重新组装成为A,B,但是不能这样子A1,B2,A3组装,B1,A2,B3组装;
[解决办法]
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html

[解决办法]
遇到同行了。呵呵~

Total_Length4Unsigned Integer消息总长度(含消息头及消息体)
Command_Id4Unsigned Integer命令或响应类型
Sequence_Id4Unsigned Integer消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同)


这是CMPP协议的包头,你首先必须接收前4个字节,得到消息包总长度N,再收取(N-4)

热点排行