`
sunnylocus
  • 浏览: 869846 次
  • 性别: Icon_minigender_1
  • 来自: 美国图森
社区版块
存档分类
最新评论

莎莎短信网关模拟器

阅读更多

 

     前段时间有个网友在我的博客上下载了短信接入程序,有一天加我QQ,说:“大哥,我下载了你的短信接入程序,可是我在调试群发短信的时候,发第一条正常,但是后面的短信发的时候程序就出现错误了,我弄了两天还没有弄好,老板在催我了,麻烦你帮我看看吧”,实在推脱不开就用远程协助登到他的机器上,远程debug。说来也奇怪还真出错了,我就很纳闷呀,短信接入程序已经在生产环境上用过,我问其它网友他们都说正常呀,我以为是jdk版本的问题,一条语句一条语句的排查,找了一下午也没有找出问题,我问他,你是怎么做测试的?他说我就是用你的发短信的那个TestSendSMS类向模拟器发的短信。原来是他从网上随便找了个SGIP的模拟器,那个模拟器非常的简单,只有一个bind测试和一个deliver的测试,程序也有问题,劣质模拟器害人不浅呀,结果把那位网友折磨了好几天。最近在学习vc,就写了一个,希望对做短信开发的朋友有帮助,源代码我整理后也会贴上来。如有错误改正后请也发我一份,谢谢。

 

主界面:

 

 

 

下发Report界面

 

短信上行界面:

 

 

短信接入程序界面:

 

9
1
分享到:
评论
13 楼 adintr 2017-05-27  
有多个接收号码时的处理也是错的
12 楼 adintr 2017-05-27  
下发 Report 的时候对序列号处理有问题吧!
11 楼 寂寞精灵 2016-12-20  
我服,真是厉害,尽管看不懂,但是楼主这种助人为乐的精神,俺可是感激不尽。
10 楼 IT小荒 2016-05-12  
大哥有没有cmpp2.0实现的模拟器啊
9 楼 aimatwinning 2015-07-17  
请问电信移动的有么
8 楼 whtyou007 2013-01-30  
有个问题建议改进一下,就是在发送各个应答包的时候,对应的序列号应该取的是发过来的包的序列号,不应该重新生成.
//发送Bind_Resp
sgipgHead.nSequenceId.nDateTime = htonl(sgipgPacket.pk_head.nSequenceId.nDateTime);//sgip_get_datetime();
sgipgHead.nSequenceId.nSeqId = htonl(sgipgPacket.pk_head.nSequenceId.nSeqId);//GetSgipSequence();
sgipgHead.nSequenceId.nSrcNodeNum = htonl(sgipgPacket.pk_head.nSequenceId.nSrcNodeNum);//atoi(pDlg->m_sSrcNode);

还有就是保留字段也应该原样返回.
7 楼 whtyou007 2013-01-26  
SGIPService.cpp 中
if (strcmp(sgipgPacket.pk_data.pk_login.sLoginName,pDlg->m_sName)==0 &&
strcmp(sgipgPacket.pk_data.pk_login.sLoginName,pDlg->m_sPwd)==0) {

此处的密码判断有误,都用的是用户名
6 楼 sunnylocus 2013-01-25  
whtyou007 写道
不知有没有改进版,从截图上很明显的看出来SPNumber与UserNumber一样,是有问题的.

非常感谢你的提醒,今天才发现,已修复。
5 楼 whtyou007 2013-01-24  
不知有没有改进版,从截图上很明显的看出来SPNumber与UserNumber一样,是有问题的.
4 楼 kunsyliu 2012-08-21  
sorry,没仔细研究,哥的包,我后来找到可执行文件了,

膜拜……………………

有个使用说明就好了,我才接触,

3 楼 kunsyliu 2012-08-21  
东西很好,可是哥,为什么不把它直接弄成可执行文件呢,我电脑上根本就没vc编译环境。
  
2 楼 lshiren 2012-04-23  
非常感谢,牛!
1 楼 lyy3232 2011-12-08  
非常感谢!!!!

相关推荐

Global site tag (gtag.js) - Google Analytics