设为首页 加入收藏

TOP

Java利用smslib发送短信
2014-11-24 02:41:04 来源: 作者: 【 】 浏览:1
Tags:Java 利用 smslib 发送 短信

  自己写一个小程序,我在java1.6.0_10;smslib-v3.4.5下运行成功.


  主要是以下几个类.


  Level_Final_Serial.java:串口底层操作


  Serial_For_Smslib.java:对Level_Final_Serial的进一步封装,可以直接发送和接受串口信息.


  如果要发送AT指令,需要先转换成相应的Ascii码.如: 发送AT指令A(acsii:65)T(ascii:84)回车(ascii:13)


  char[] atOrder = {65, 84 ,13}; smslib_test.writeByte(atOrder);


  Sms-Test修改版.rar,修改后:


  String atCommand = "AT\r"; // 发送AT指令(加换行符号\r)


  char[] atOrder = atCommand.toCharArray();


  smslib_test.writeByte(atOrder);


  // 读取数据


  char[] rsByte = final_Level.readPackData();


  if (rsByte != null){


  for (char c : rsByte) {


  rsStr += c;


  }


  if (rsStr.indexOf("OK")>0){


  System.out.println("找到" + portStr + ":短信模块串口");


  rsbool = true;


  }


  }


  SmsService.java:smslib的封装


  SmsSendJob.java:程序的运行实例(向10086发送11,查询余额,能发能收)


  程序不完善,是有时候有异常出现,查了质料后还是无法解决:


  程序中有时候会出现异常:


  警告: GTW: SMSLINK: Ignoring InterruptedException in Queue.peek().


  java.lang.InterruptedException


  at java.lang.Object.wait(Native Method)


  at org.smslib.modem.AModemDriver$CharQueue.peek(AModemDriver.java:556)


  at org.smslib.modem.AModemDriver.getResponse(AModemDriver.java:323)


  at org.smslib.modem.AModemDriver.getResponse(AModemDriver.java:352)


  at org.smslib.modem.athandler.ATHandler.isAlive(ATHandler.java:123)


  at org.smslib.modem.AModemDriver$KeepAlive.process(AModemDriver.java:678)


  at org.smslib.threading.AServiceThread.run(AServiceThread.java:117)


  如果知道怎么做,或者有更好的思路发送短信,还请多多指教。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SUSE Linux系统BASH下配置JAVA环.. 下一篇Java偏向锁实现原理(Biased Locki..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: