短信平台二次开发历程

首次接触短信cat,并要进行Java的二次开发,小小总结了一下:
第一步:安装驱动,配置环境,运行示例代码
驱动安装成功后,在设备管理器中可以查看
测试是否成功:
打开企业短信通广告版,点设备管理,双击短信设备1或2 ,会弹出修改短信设备参数,把设备类型改成GSM MODEM,选择串口号,COM3…..都可以。
显示启用,说明设备已经和软件正常连接。如果不能启用,请退出软件重新打开。
Java调用:
需要两个jar包

首先,把smslib-3.3.0b2.jar和comm.jar,放入工程lib中,javax.comm.properties放到%JAVA_HOME%/jre/lib下,
win32com.dll放到%JAVA_HOME%/jre/bin下。路径放错了,调用起来就会报错的。
路径是放在你开发工具所用的jdk中,注意别放错了
环境配置好了以后,把examples\modem下的SendMessage.java和ReadMessages.java拷贝到你的开发工具下

示例代码修改:
SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM3", 9600, "wavecom", "17254");//115200是波特率,一般为9600。可以通过超级终端测试出来

第二步:将服务部署在虚拟机,将原来的短信平台改由调用短信cat发送
原服务接到串后,直接调用SendMessage的doit方法
解决短信发送速度慢的问题:改变发一次短信就启动一次短信cat,改为只启动一次短信cat

第三步:解决发一次短信服务就会断开的问题
将短信cat的sendmessage启动服务、发送短信、停止服务分开,在原服务启动的同时就启动短信cat服务,在原服务关闭的同时再关闭短信cat的服务

第四步:解决短信不能群发,只有第一个号码能收到的问题
查找原因:
System.in.read();


第五步:原短信平台的三个服务(三个端口)进行融合,调用同一个短信cat进行发送
将原三个服务的监听整合到一个工程,在整个工程启动的时候,先启动短信cat的服务,在launcher中;单例的使用(保证只有一个对象)
然后将三个服务都启动以来:(new ServiceListener()).start();
(new ServiceListener10000()).start();
(new ServiceListener10002()).start();
注意写成三个线程,不然会造成只有一个服务启动

第六步:统计各通道短信数

第七步:开发调用短信cat发送的客户端
C/S开发实现

猜你喜欢

转载自201108180942.iteye.com/blog/1986434