求助:有没有熟悉SMGP协议的啊?帮忙

freshsmile 2003-12-23 11:06:07
有没有做过SMGP的朋友,有问题请教
SMGP协议要求结构的方式发包,对于里边的整数字段,是不是需要转换字节序啊?如何转换?
...全文
42 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
freshsmile 2003-12-23
  • 打赏
  • 举报
回复
多谢楼上老兄
fjye 2003-12-23
  • 打赏
  • 举报
回复
SMGP应该是小灵通网关的协议,基本是在CMPP的基础上修改的
里面的整数需要是网络字节顺序,当然,一个字节的就无所谓顺序了
就是2个字节(很少),4个字节的需要转换成网络字节顺序
比如一个整数a=100,用4个自己的整数表示就是0x00000064(16进制)
转换成网络字节就是0x64000000 十进制就是1677721600
我给你一个C++写的,希望对你有所帮助

unsigned int alternate(unsigned int input)
{
char *p;
unsigned int b;
p = (char*)&input;
for(int i=0;i<(sizeof(input)/2);i++)
{
swap(p+i,p+sizeof(input)-i-1);
}
b = *(unsigned int*)(p);
return b;
}

void swap(char * a, char * b)
{
char temp;
temp = *a;
*a = *b;
*b = temp;
}

调用alternate函数,返回的就是已经转换好网络字节的整数,是我做SGIP的时候写的函数.可以看看

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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