`
handonghandong
  • 浏览: 87638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

短信网关接入程序源代码(SGIP协议)

 
阅读更多

      短信网关接入程序的源码,基于SGIP协议1.2版本的进行了整理和改动,附件中有可运行版本的Demo以及SGIP1.2可运行的源码,对于SP接入程序运用的技术主要是多线程+Socket+各种协议的了解。

     在开发中,多线程中要注意的是Dead Lock问题,线程"死等"的话会影响Web性能以及产生内存问题,所以在最大线程数以及响应时间要思考清楚,这部分是多线程需注意的,其次是Socket开发,这部分相比较代码固定些,首先创建连接的Scoket,然后通过Bind输入流得到连接状态,如state具体说明如下:

   0:无错误,命令正确接收

  1:非法登录,如登录名、口令出错、登录名与口令不符等

  2:重复登录,如在同一TCP/IP连接中连续两次以上请求登录

  3:连接过多,指单个节点要求同时建立的连接数过多

  4:登录类型错,指bind命令中的logintype字段出错

  5:参数格式错,指命令中参数值与参数类型不符或与协议规定的范围不符

等等类型的错误,根据具体错误匹配进行问题排查。在获得了状态无误后,通过Submit向网关write,然后通过read其in的方式获得是否发送成功。

  对于和网关的连接中,头和体的定义很关键,否则会被网关过滤或者"死等"状态,消息ID及对应值如:

 

SGIP_BIND

0x1

SGIP_BIND_RESP

0x80000001

SGIP_UNBIND

0x2

SGIP_UNBIND_RESP

0x80000002

SGIP_SUBMIT

0x3

SGIP_SUBMIT_RESP

0x80000003

SGIP_DELIVER

0x4

SGIP_DELIVER_RESP

0x80000004

SGIP_REPORT

0x5

SGIP_REPORT_RESP

0x80000005

SGIP_ADDSP

0x6

SGIP_ADDSP_RESP

0x80000006

SGIP_MODIFYSP

0x7

等等对于commandid的定义....

具体源码及可运行实例见附件,如需交流私下沟通:

 

 

分享到:
评论
9 楼 qian0021514578 2015-05-06  
支持一下!
8 楼 lcu_meng 2012-05-21  
157094416
7 楼 handonghandong 2012-05-11  
有问题可加群 157094416
6 楼 wang_ting123 2012-04-20  
楼主的开源精神可佳!让小弟受益匪浅, 
5 楼 85757916 2012-02-07  
楼主,请问怎么联系呢,加我QQ可以吗,有问题请教:85757916
4 楼 handonghandong 2011-11-27  
共同学习
cheng830306 写道
支持LZ的分享精神一下。。。。

共同学习
3 楼 zhouhyc 2011-11-26  
楼主的开源精神可佳!网络上确实缺少sgip1.2方面源码。
2 楼 lcu_meng 2011-11-25  
1 楼 cheng830306 2011-11-22  
支持LZ的分享精神一下。。。。

相关推荐

Global site tag (gtag.js) - Google Analytics