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

中国联通短信网关接入程序源代码(SGIP1.2协议)

    博客分类:
  • Java
阅读更多

 自从我发了博文“中国联通SP业务开发总结”后有很多的朋友问我开发上一些问题,开发接入程序必须有一定的socket编程基础,且必须熟悉sgip1.2协议才可以,我应一位网友的要求将我开发的短信接入程序源代码发布,希望对开发短信业务的朋友提供一些帮助,代码可自由传播。如有疑问请留言,我会尽量解答。

 

ps:

  lib.rar是短信程序所用到的jar包,有很多朋友问我要jar包,现在给补上。

  [lib]

    +----jdom1.1.jar

    +----log4j-1.2.16.jar

    +----mail.jar

    +----xerces.jar

 

lib里还少一个jar包,xercesImpl.jar,继续补上。

 

2011-04-15 新包发布 v1.1

修改内容:

  1. 修改com.tdt.unicom.sgip.svr.SPSender类,将计时器Timer改为ScheduledExecutorService,在测试中发现Timer内部异常时,会将错误传染给倒霉的调用者,导致下发线程全部中断。
  2. 优化了短信下发的流程。
  3. 修复了群发短信时,只有一个手机能收到短信的bug。

以上bug都是根据网友反馈发现的,在这里表示感谢。

 

 

2011-12-16 新包发布 v1.2

修改内容:

  1. 修改com.tdt.unicom.sgip.svr.SPSender类,上一个版本中,如果联通网关断开连接,SP端再次发送短信时,会出现异常,导致短信无法行,v1.2版本已修复该bug。

  感谢网友“白开水”的反馈。

 

2012-02-08 新包发布 v1.3

修改内容:

  1. 将SP的源节点编号,SMG网关的登陆用户名和密码在productionConf.xml配置文件中进行配置,无需再修改源代码的参数。

2013-06-08新包发布    v1.4

修改内容:

  1.   根据反馈,在下发线程因异常中断时,后续的短信无法再继续发送,必须重启才能  解决,该版本修复了该bug,当有线程异常退出时,自动生成的新线程替代已异常退出的线程
  2. 优化了在高并发环境下发送的策略,如果下发线程全部忙碌,采用谁调用谁发送。
  3. 预留相关接口,如果想将收到短信插入数据库,转发其它业务层等请在com.tdt.unicom.sgip.svr.UnicomSPMonitor的transmitDeliverMsg方法实现自己的业务逻辑处理。
      /**
       * 将收到的短信转发给相应的业务逻辑处理层
       * 转发方式Socket、Http、WebService
       * @param command
       */
      public void transmitDeliverMsg(final SGIPCommand command) {
    }

特别说明:

        有朋友在测试我的短信程序时,会出现Exception in thread "MT-thread-0" java.lang.RuntimeException: java.net.SocketException: Software caused connection abort: recv failed
这个异常,这是因为你测试机器的IP地址没有在联通短信平台上备案,联通SMG有一个白名单,只有你的IP地址出现在这个白名单时你才会与SMG网关建立socket连接,否则会被联通的防火墙拦截。这个异常就是因为你的socket连接被对方的防火墙给拦截了。

 

 

感谢网友“明晓”协助测试!

=====================================================================

如何打包,并加载第三方类库?

 

有童鞋下载了源代码,修改代码打好包后不知道如何加载第三方类库,下面是如如何加载第三方类库的方法。

1、在打好包(假设打好的包叫UNICOM.jar)的目录下,新建一个目录SGIP_LIB,将用到的第三方类库拷贝到该目录下

2、在打好包的目录下,新建一个目录SGIP_Config,用winrar压缩软件打开UNICOM.jar包,将所有配置文件拖到SGIP_Config目录下

3、用Winrar压缩软件打开UNICOM.jar包META-INF目录下的MANIFEST.MF文件,加入

Class-Path: ./SGIP_Config/  ./SGIP_LIB/log4j-1.2.16.jar ./SGIP_LIB/jdom1.1.jar ./SGIP_LIB/mail.jar ./SGIP_LIB/xerces.jar ./SGIP_LIB/xercesImpl.jar   

4、保存退出,在终端运行Java -jar ./UNICOM.jar即可启动短信平台(注意Class-Path未尾一定要加空格!!!)

  • UNICOM.rar (3.7 MB)
  • 描述: 过时版本
  • 下载次数: 3906
  • lib.rar (3 MB)
  • 下载次数: 1999
  • UNICOM_v1.1.rar (2.8 MB)
  • 描述: 2011-04-15 发布 新版本
  • 下载次数: 989
  • UNICOM_v1.2.rar (146.1 KB)
  • 描述: 2011-12-16 发布 v1.2
  • 下载次数: 791
  • UNICOM_v1.3.rar (154.5 KB)
  • 描述: 2012-02-08 发布 v1.3
  • 下载次数: 1190
60
6
分享到:
评论
23 楼 sunnylocus 2010-10-08  
wqjsuccess 写道
你好!请教下一个问题。根据您提供的《SGIP1.2协议扩展.doc》中Submit新增了Reserve保留字段,用来填充用户收到的linkID值,可是在您提供的UNICOM.rar中的Submit类中并没有发现有Reserve这个字段,而是linkID字段。可否说明下?谢谢!

com.tdt.unicom.domains.Deliver类和com.tdt.unicom.domains.Submit类里的linkID字段就是“SGIP1.2协议扩展.doc”里提到的Reserve字段,开发的时候为了好理解就把Reserve字段名改成linkID了。
22 楼 wqjsuccess 2010-10-07  
你好!请教下一个问题。根据您提供的《SGIP1.2协议扩展.doc》中Submit新增了Reserve保留字段,用来填充用户收到的linkID值,可是在您提供的UNICOM.rar中的Submit类中并没有发现有Reserve这个字段,而是linkID字段。可否说明下?谢谢!
21 楼 sunnylocus 2010-09-17  
worfchina 写道
谢谢 已成功连接联通网关,但是为什么收不到用户的上行短信呢 ISMG已经跟SP绑定成功了

要确定的你的测试服务器是不是公网IP,因为上行短信的时候,SMG反过来要连你的机器,如果不是公网IP就连不到你的机器
20 楼 worfchina 2010-09-16  
下发短信正常
19 楼 worfchina 2010-09-16  
谢谢 已成功连接联通网关,但是为什么收不到用户的上行短信呢 ISMG已经跟SP绑定成功了
18 楼 番茄有益 2010-09-15  
多谢共享
17 楼 lyy3323 2010-08-20  
能发个LIB 包不??
16 楼 catlovefox 2010-05-05  
,好人牌,发一个给你~
15 楼 sunnylocus 2010-01-28  
missingchen 写道
连接联通网关报java.net.SocketException: Connection reset 错误,请问遇见过这个问题吗? 网关的网络是通的,因为换别的ip地址会报连接超时。
是不是短信网关因为防火墙的原因给断了socket?

SMG把socket关闭了,应该是你发送的命令不符合规范。
14 楼 missingchen 2010-01-28  
连接联通网关报java.net.SocketException: Connection reset 错误,请问遇见过这个问题吗? 网关的网络是通的,因为换别的ip地址会报连接超时。
是不是短信网关因为防火墙的原因给断了socket?
13 楼 sunnylocus 2010-01-18  
cleen 写道
我测试发送短信(接收号码为移动号码),返回“SMG拒绝连接。错误码:57”什么意思

能看下异常信息么?有可能是在SMG注册的IP地址和你测试机的IP地址不匹配
12 楼 bqw_5189 2010-01-18  
SGIP协议 相关文档

http://bqw-5189.iteye.com/blog/573134
11 楼 cleen 2010-01-17  
我测试发送短信(接收号码为移动号码),返回“SMG拒绝连接。错误码:57”什么意思
10 楼 sunnylocus 2010-01-14  
elvishehai 写道
sunnylocus 为什么都是乱码了,你用的是什么编码写的, 我都试了utf gbk gb2312

好久以前写的了,应是UTF-8
9 楼 elvishehai 2010-01-14  
sunnylocus 为什么都是乱码了,你用的是什么编码写的, 我都试了utf gbk gb2312
8 楼 yuniannian 2010-01-13  
感谢楼主的分享
7 楼 sunnylocus 2010-01-12  
海阔天空love 写道
老兄后面的背景我好像很熟悉啊、你老家是哪儿的啊?

后面背景是北京'天'安'门'
6 楼 海阔天空love 2010-01-12  
老兄后面的背景我好像很熟悉啊、你老家是哪儿的啊?
5 楼 海阔天空love 2010-01-12  
raojl 写道
海阔天空love 写道
我是一个大学毕业工作没多久的一个小程序员、我不明白一般的软件跟你做的那些通信业务主要有哪些不同?我是指技术方面

没什么多大的要求:多线程、网络、数据库编程+基础扎实就OK。

谢谢、你这样一说我心里也有谱了!真的感谢
4 楼 raojl 2010-01-12  
海阔天空love 写道
我是一个大学毕业工作没多久的一个小程序员、我不明白一般的软件跟你做的那些通信业务主要有哪些不同?我是指技术方面

没什么多大的要求:多线程、网络、数据库编程+基础扎实就OK。

相关推荐

    联通SGIP1.2协议短信接口

    基于联通SGIP1.2协议编写的服务端和客户端短信平台,只要存在联通分配的IP、用户名、密码即可完成短信发送

    SGIP 1.2 联通短信网关模拟器

    SGIP 1.2 联通短信网关模拟器 适用于联通 SGIP1.2协议短信开发 有图形界面,报文解析

    联通SGIP1.2短信网关

    联通SGIP1.2短信网关,C#开发

    联通SGIP1.2协议文档说明

    联通SGIP(Short Message Gateway Interface Protocol)1.2版本是中国联合通信公司在2001年推出的短信网关系统接口协议,旨在规范和促进短信服务提供商(SP)与短消息服务中心(SMSC)之间的数据交换,确保高效、...

    联通SGIP短信协议SGIP1.2

    联通SGIP短信协议SGIP1.2是中国联合通信公司在二零零一年推出的一种用于短消息服务的网关接口协议,旨在规范SP(Service Provider)与SMSC(Short Message Service Center,短消息服务中心)之间的通信,提高短信...

    中国联通SGIP1.2短消息网关开发接口库

    1.接口说明 该接口库是用VC6.0开发的基于Windows平台上的SGIP1.2协议的实现,接口对中国联通SGIP协议进行了高度封装,目的是方便SP接入中国联通短消息网关。 2.功能特点 1)严格按照SGIP1.2协议实现,...

    短信发送协议SGIP1.2

    短信发送协议SGIP1.2是中国联合通信公司在二零零一年推出的版本,旨在规范短信服务提供商(SP)与短消息服务中心(SMSC)之间的通信标准,提高短信服务的效率和可靠性。本文将深入解析SGIP1.2协议的主要内容、系统...

    联通SGIP1.2接口Java版实现(客户端与服务端)

    联通SGIP1.2接口Java版实现(客户端与服务端)2013-10-23号已测试。 怎么部署里面有详细的说明或者去我的blog看

    中国联通sgip1.2模拟网关

    中国联通sgip1.2模拟网关,真实的环境,特别适合还没有申请到企业号的用户

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

    NULL 博文链接:https://handonghandong.iteye.com/blog/1197592

    联通SGIP1.2短信网关 发送接收短信皆可 可以应对高并发

    - 根据联通提供的SGIP1.2接口文档,封装协议,编写通信流程 - 下行短信(发送短信给手机用户),里面有两种方式发送短信,一种是Socket,一种是NIO,NIO的性能较高 - 上行短信(接收手机用户的短信),实际是接收联通短信中心...

    SgIP.rar_SGIP CSharp_sgip_sgip CSharp_网关_联通sgip1.2

    联通SGIP1.2网关协议联通SGIP1.2网关协议联通SGIP1.2网关协议联通SGIP1.2网关协议联通SGIP1.2网关协议联通SGIP1.2网关协议联通SGIP1.2网关协议

    联通 sgip1.2协议

    【联通SGIP1.2协议】是中国联合通信公司在2001年推出的短消息网关系统接口协议,用于实现短信服务提供商(SP)与短消息服务中心(SMSC)之间的高效、稳定通信。此协议旨在规范不同系统间的交互,提高短信业务的处理...

    中国联通sgip1.2模拟网关.rar

    联通网关.sgip网关,sp接入.联通sgip网关

    SGIP1.2Java实现(包括服务端客户端)

    SGIP1.2Java实现(包括服务端客户端)

Global site tag (gtag.js) - Google Analytics