中国联通短信网关接入程序源代码(SGIP1.2协议)
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
修改内容:
- 修改com.tdt.unicom.sgip.svr.SPSender类,将计时器Timer改为ScheduledExecutorService,在测试中发现Timer内部异常时,会将错误传染给倒霉的调用者,导致下发线程全部中断。
- 优化了短信下发的流程。
- 修复了群发短信时,只有一个手机能收到短信的bug。
以上bug都是根据网友反馈发现的,在这里表示感谢。
2011-12-16 新包发布 v1.2
修改内容:
- 修改com.tdt.unicom.sgip.svr.SPSender类,上一个版本中,如果联通网关断开连接,SP端再次发送短信时,会出现异常,导致短信无法行,v1.2版本已修复该bug。
感谢网友“白开水”的反馈。
2012-02-08 新包发布 v1.3
修改内容:
- 将SP的源节点编号,SMG网关的登陆用户名和密码在productionConf.xml配置文件中进行配置,无需再修改源代码的参数。
2013-06-08新包发布 v1.4
修改内容:
- 根据反馈,在下发线程因异常中断时,后续的短信无法再继续发送,必须重启才能 解决,该版本修复了该bug,当有线程异常退出时,自动生成的新线程替代已异常退出的线程
- 优化了在高并发环境下发送的策略,如果下发线程全部忙碌,采用谁调用谁发送。
- 预留相关接口,如果想将收到短信插入数据库,转发其它业务层等请在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协议)相关推荐
- 中国联通SP业务接入开发总结(SGIP1.2 协议)
当短信成功下发到手机终端时,一个多星期的联通业务接入程序终于完成,由于以前没有类似的开发经验,中间走了不少弯路,浪费了很多时间.总结下开发经验为下一步开发移动的业务接入打下一个基础. 开发过程遇到的几 ...
- 中国联通SP业务接入开发总结SGIP1.2 协议
开发过程遇到的几个难点: 1. 序列号的定义 2. int转byte[]及字节序 3. 重复收到联通上行(MO) 4. 收到用户的定购命令但无法下行(MT) 1.序列号的定义 SGIP1.2 第7页 ...
- 微信小程序控制硬件第17篇 : 腾讯连连小程序通过LLSync蓝牙协议控制安信可PB-02模组,无需网络实现蓝牙本地通讯。(附带源码)
文章目录 前言 一.注册腾讯物联开发平台设备 新建项目 新建产品 创建数据模板 选择设备开发方式 交互开发配置 新建设备 二.设备端操作 硬件简介与连接 准备软件环境 工程目录 烧录步骤 三.腾讯连连 ...
- 短信网关接入平台需求
短信网关接入平台主要负责和运营商(移动.联通.电信.网通.短信中心.一级SP)网关的通讯,负责消息的接收和发送.下面列出了一些接入平台所必须的要求: 1. 通讯协议层 对运营商(移动.联通. ...
- 【程序源代码】完全开源仓储管理软件
" 关键字: 企业平台 " 正文:后台管理系统 介绍 完全开源仓储管理软件,遵循Apache License 2.0协议,前后端分离,且完全开源,API使用restful协议, ...
- python小程序源代码-整理了适合新手的20个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...
- python小程序源代码-10个Python练手小程序
[程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...
- python小程序源代码-Python数据库小程序源代码
源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name':1 ,'age' ...
- RFID图书管理系统程序源代码(转)
RFID图书管理系统程序源代码 https://wenku.baidu.com/view/5f4e47f0c9d376eeaeaad1f34693daef5ef713d9.html
最新文章
- stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue
- 机器视觉:Asymmetry Problem in Computer Vision
- ant接口自动化 junit_ant 学习(3)--结合junit形成自动化测试小框架
- java内存区域_JVM学习之—Java内存区域
- 极限编程与敏捷开发(4)
- 娜塔莉波特曼2015哈佛毕业演讲
- 趣味Java算法题(附答案)
- 11_less中的条件判断
- 重复订单号校验_吊打面试官系列重复消费、顺序消费、分布式事务
- 内置Jetty配置JSP支持过程中的常见报错
- HPC:鱼与熊掌可以兼得
- 导线平差计算软件的NABCD分析
- c语言快速拼接字符串,C语言拼接字符串
- 计算机系统维护论文5000字,计算机系统维护毕业论文
- Thinkphp3.2.3安全开发须知
- 阿里云视频点播服务(上传,删除,获取播放地址,获取播放凭证)
- Opencv色彩空间(GRAY、XYZ、HSV、YCrCb、HLS)展示,以及利用HSV标记指定的颜色
- linux怎么进入sftp命令行,Linux中SFTP命令
- 字符串中空格相关操作
- 【转】区块链公链的 3 大性能难点、5 大体验障碍
热门文章
- 计算机科学与技术a类学科,双一流大学名单及学科 a类b类有什么区别
- 最全阿里技术P系列解读:P5-P8的技能要求和薪资结构
- 电源设计之buck变换(一)
- Assistive Touch悬浮菜单_7.3.0 会员版(Google+国内)
- 《南希财智对话》初识李亦非
- Cinema 4D 办公楼建筑效果图表现
- mate10android系统通知,老用户的福音!Mate 10用户也能更新EMUI 10了
- html单选按钮样式 正方形,Html单选按钮自定义样式
- 关于angular中radio单选的问题
- [渝粤教育] 沈阳工业大学 模拟电子技术 参考 资料