关于Symbian socket 提交byte形式数据的问题

我是一个小胖子 2010-02-24 07:46:38
要求给服务端提交一个byte形式的数据,提交两个数据,每个数据的最大长度分别是4,32.
我是这样做的:

TBuf8<36> buf;

TInt cmd = 311; //第一个数据
_LIT(KCALLER,"12345678901"); //第二个数据

TBuf8<4> bufCmd; //存放第一个数据,最大长度是4
TBuf8<32> bufCaller; //存放第二个数据,最大长度是32

buf.Append(bufCmd);
buf.Append(bufCaller);

然后提交buf。但是因为提交数据的格式不对而得不到返回数据。
我的理解是服务端读取前四个字节,解析数据出第一个数据,再读取32个字节,解析出第二个数据。
如果是这么解析的话,我的上传数据格式对不?
...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyz_lmn 2010-02-28
  • 打赏
  • 举报
回复
查一下API......
  • 打赏
  • 举报
回复
怎么将整数转化为网络序?
是这样吗?

TInt number = 111;
TBuf8<16> msg;
for (TInt i = 0; i < 4; i++)
{
msg.AppendNumFixedWidthUC(((TUint8*) &number)[i], EHex, 2);
}
scribbler 2010-02-25
  • 打赏
  • 举报
回复
在组织上传byte的时候,最好这样组织

TBuf8 <36> buf;
TInt cmd = 311; //第一个数据
_LIT(KCALLER,"12345678901"); //第二个数据

TBuf8 <4> bufCmd; //存放第一个数据,最大长度是4
TBuf8 <32> bufCaller; //存放第二个数据,最大长度是32

buf.Append(bufCmd.Ptr(),4);
buf.Append(bufCaller.Ptr(),32);

sxcnfly 2010-02-25
  • 打赏
  • 举报
回复
就是大小端转化。。。。。
  • 打赏
  • 举报
回复
怎么将整数转化为网络序?
  • 打赏
  • 举报
回复
在提交数据成功之后,在去读数据的时候出现KErrDisconnected: Disconnected
断开了,是不是服务端解析我发送的命令不正确而没有给我返回数据而产生的错误?

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧