利用SMSLib經過COM來發短信(JAR包及配置) XML

第一步:
The installation procedure for both the old Java Comm v2 and the new Java Comm v3 is identical.

Java Comm v2 is for Win32 systems and it is available on the Download page.

Java Comm v3 is for Linux systems and it is available for download directly from SUN downloads (registration is required)

To install it, unzip the downloaded archive file in a temporary place and do the following copies:

File comm.jar should go under JDKDIR/jre/lib/ext/
File javax.comm.properties should go under JDKDIR/jre/lib/
Library files (i.e. win32com.dll for Win32 or the .so Linux library files) should go under JDKDIR/jre/bin/
If you have a separate JRE directory, do the same copies for the JREDIR directory!

即comm.jar導入引用包中,javax.comm.properties拷貝到JDKDIR/jre/lib/下,win32com.dll拷貝到 JDKDIR/jre/bin/下



第二步:
把相應的包導入就能夠了。

當時在作的時候,發現經過SMSLib發送程序仍是比較麻煩的,他的日誌採用的是slf4j,而slf4j是基於log4j的,這幾個不一樣的JAR包都是 在不一樣的地方下載的,在此全部的JAR整理出來,但願你們節約時間

JAR包下載地址http://www.ziddu.com/download/7798641/phonesendmessageJAR.rar.html


測試源碼:
package  org.asdtiang.phone.sendMessage;

import  org.smslib.IOutboundMessageNotification;
import  org.smslib.Message.MessageEncodings;
import  org.smslib.OutboundMessage;
import  org.smslib.modem.SerialModemGateway;

public   class  Main {
private   static  org.smslib.Service srv  =   new  org.smslib.Service();;

public   static   void  creatService() {
SerialModemGateway gateway 
=   new  SerialModemGateway( " SMS " " COM3 " ,
9600 " LENOVO " " 6070 " );
gateway.setInbound(
true );
gateway.setOutbound(
true );
try  {
srv.addGateway(gateway);
srv.startService();
System.out.println(
" Modem connected. " );
sendSms(
" 15100164985 " " 測試用 " );
catch  (Exception ex) {
ex.printStackTrace();
}
}

public   static  org.smslib.Service getService() {
if  (srv  ==   null ) {
creatService();
}
return  srv;
}

public   static   void  disconnect() {
try  {
//  srv.disconnect();

System.out.println(
" Modem disconnected. " );
catch  (Exception ex) {
ex.printStackTrace();
}

}

public   static   void  main(String args[]) {
creatService();
}

public   static   boolean  sendSms(String mobile, String content) {
OutboundMessage msg 
=   new  OutboundMessage(mobile, content);
msg.setEncoding(MessageEncodings.ENCUCS2);
try  {
srv.sendMessage(msg);
System.out.println(msg);
catch  (Exception ex) {
//  log.error(ex);
return   false ;
}
return   true ;
}

public   void  close() {
try  {
srv.stopService();
catch  (Exception ex) {
//  log.error(ex);
}
}

public   class  OutboundNotification  implements  IOutboundMessageNotification {
public   void  process(String gatewayId, OutboundMessage msg) {
System.out.println(
" Outbound handler called from Gateway:  "
+  gatewayId);
System.out.println(msg);
}
}
}



asdtiang 2010-01-12 18:07 發表評論
相關文章
相關標籤/搜索