http://code.google.com/p/smslib/downloads/list 下载最新的smslib-v3.5.0.zip和javacomm20-win32.zip。分别解压缩。
程序代码如下:
import .........;
public class MainSend {
public static void main(String[] args) {
Service srv = Service.getInstance();
try {
SerialModemGateway gateway = new SerialModemGateway("modem.com5",
"COM5", 9600, "GSM MODEM", "6070"); // 参数依次为gateway的Id,串口号,波特率,制造商和型号(这两个参数无所谓啦)
gateway.setInbound(true);
gateway.setOutbound(true);
srv.addGateway(gateway);
srv.startService();
OutboundMessage msg = new OutboundMessage("158****1063", "测试23655");
msg.setEncoding(MessageEncodings.ENCUCS2);
msg.setStatusReport(true);
msg.setDstPort(77);
srv.sendMessage(msg);
srv.stopService();
} catch (Exception e) {
System.out.println("发生了异常uuuuuuu");
e.printStackTrace();
}finally{
System.out.println("It is stopped!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
}
要想正确运行这段代码还有很多工作要做。首先必须引入smslib-3.5.0.jar 和 comm.jar 以及 log4j.jar 。前两个就是上面下载的zip文件解压缩得到的。后一个自己去下载。我这里是用MyEclipse建的一个Java工程(不是WEB工程)。然后在smslib-v3.5.0.zip解压缩后的目录smslib-v3.5.0\misc\Log4j Sample Configuration 下面的log4j.properties文件放入这个Java工程的根目录下(就是和src文件夹平级的路径下,不是放到src里面)。将MyEclipse的jdk设为外部自己安装的jdk(最好就是环境变量设置的那个java_home),不要用MyEclipse自带的JRE。
接下来在javacomm20-win32.zip解压缩后的目录下找到win32com.dll文件放到jdk1.6.0_10\jre\bin下(如果JRE用的是jdk里面的jre,放入jdk下面的bin文件夹也可以)。同样在javacomm20-win32.zip解压缩后的目录下找到javax.comm.properties文件放入jdk1.6.0_10\jre\lib路径下。
OK,大功告成!现在就能正常发短信了。
http://code.google.com/p/smslib/downloads/list SMSlib
转载自:http://hi.baidu.com/amauri3389/item/c0333237503d57322f20c46a