http://sunnylocus.iteye.com/blog/567374#bc2382420

自从我发了博文“中国联通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)
  • 描述: 过时版本
  • 下载次数: 3802
  • lib.rar (3 MB)
  • 下载次数: 1863
  • xercesImpl.jar (1.3 MB)
  • 下载次数: 1492
  • UNICOM_v1.1.rar (2.8 MB)
  • 描述: 2011-04-15 发布 新版本
  • 下载次数: 954
  • UNICOM_v1.2.rar (146.1 KB)
  • 描述: 2011-12-16 发布 v1.2
  • 下载次数: 745
  • UNICOM_v1.3.rar (154.5 KB)
  • 描述: 2012-02-08 发布 v1.3
  • 下载次数: 1131
  • UNICOM_v1.4.rar (65.9 KB)
  • 下载次数: 786

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

  1. 中国联通SP业务接入开发总结(SGIP1.2 协议)

    当短信成功下发到手机终端时,一个多星期的联通业务接入程序终于完成,由于以前没有类似的开发经验,中间走了不少弯路,浪费了很多时间.总结下开发经验为下一步开发移动的业务接入打下一个基础. 开发过程遇到的几 ...

  2. 中国联通SP业务接入开发总结SGIP1.2 协议

    开发过程遇到的几个难点: 1. 序列号的定义 2. int转byte[]及字节序 3. 重复收到联通上行(MO) 4. 收到用户的定购命令但无法下行(MT) 1.序列号的定义 SGIP1.2 第7页 ...

  3. 微信小程序控制硬件第17篇 : 腾讯连连小程序通过LLSync蓝牙协议控制安信可PB-02模组,无需网络实现蓝牙本地通讯。(附带源码)

    文章目录 前言 一.注册腾讯物联开发平台设备 新建项目 新建产品 创建数据模板 选择设备开发方式 交互开发配置 新建设备 二.设备端操作 硬件简介与连接 准备软件环境 工程目录 烧录步骤 三.腾讯连连 ...

  4. 短信网关接入平台需求

    短信网关接入平台主要负责和运营商(移动.联通.电信.网通.短信中心.一级SP)网关的通讯,负责消息的接收和发送.下面列出了一些接入平台所必须的要求: 1.      通讯协议层 对运营商(移动.联通. ...

  5. 【程序源代码】完全开源仓储管理软件

    " 关键字: 企业平台  "  正文:后台管理系统 介绍 完全开源仓储管理软件,遵循Apache License 2.0协议,前后端分离,且完全开源,API使用restful协议, ...

  6. python小程序源代码-整理了适合新手的20个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...

  7. python小程序源代码-10个Python练手小程序

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...

  8. python小程序源代码-Python数据库小程序源代码

    源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name':1 ,'age' ...

  9. RFID图书管理系统程序源代码(转)

    RFID图书管理系统程序源代码 https://wenku.baidu.com/view/5f4e47f0c9d376eeaeaad1f34693daef5ef713d9.html

最新文章

  1. stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue
  2. 机器视觉:Asymmetry Problem in Computer Vision
  3. ant接口自动化 junit_ant 学习(3)--结合junit形成自动化测试小框架
  4. java内存区域_JVM学习之—Java内存区域
  5. 极限编程与敏捷开发(4)
  6. 娜塔莉波特曼2015哈佛毕业演讲
  7. 趣味Java算法题(附答案)
  8. 11_less中的条件判断
  9. 重复订单号校验_吊打面试官系列重复消费、顺序消费、分布式事务
  10. 内置Jetty配置JSP支持过程中的常见报错
  11. HPC:鱼与熊掌可以兼得
  12. 导线平差计算软件的NABCD分析
  13. c语言快速拼接字符串,C语言拼接字符串
  14. 计算机系统维护论文5000字,计算机系统维护毕业论文
  15. Thinkphp3.2.3安全开发须知
  16. 阿里云视频点播服务(上传,删除,获取播放地址,获取播放凭证)
  17. Opencv色彩空间(GRAY、XYZ、HSV、YCrCb、HLS)展示,以及利用HSV标记指定的颜色
  18. linux怎么进入sftp命令行,Linux中SFTP命令
  19. 字符串中空格相关操作
  20. 【转】区块链公链的 3 大性能难点、5 大体验障碍

热门文章

  1. 计算机科学与技术a类学科,双一流大学名单及学科 a类b类有什么区别
  2. 最全阿里技术P系列解读:P5-P8的技能要求和薪资结构
  3. 电源设计之buck变换(一)
  4. Assistive Touch悬浮菜单_7.3.0 会员版(Google+国内)
  5. 《南希财智对话》初识李亦非
  6. Cinema 4D 办公楼建筑效果图表现
  7. mate10android系统通知,老用户的福音!Mate 10用户也能更新EMUI 10了
  8. html单选按钮样式 正方形,Html单选按钮自定义样式
  9. 关于angular中radio单选的问题
  10. [渝粤教育] 沈阳工业大学 模拟电子技术 参考 资料