实现这个功能,需要两个jar包,可以到http://code.google.com/p/smslib下载smslib-v3.3.0-B2-bin.zip和javacomm20-win32.zip。
首先,把smslib-v3.3.0-B2-bin.zip解开,在smslib\dist\lib目录下找到smslib-3.3.0b2.jar,放入工程lib中,再把javacomm20-win32.zip解开,里面的comm.jar需要放到工程lib下,javax.comm.properties放到%JAVA_HOME%/jre/lib下,win32com.dll放到%JAVA_HOME%/jre/bin下。路径放错了,调用起来就会报错的。
环境配置好了以后,使用起来很简单,贴下我的代码:
package com.cn;
import org.smslib.AGateway;
import org.smslib.IOutboundMessageNotification;
import org.smslib.Library;
import org.smslib.OutboundMessage;
import org.smslib.Service;
import org.smslib.Message.MessageEncodings;
import org.smslib.modem.SerialModemGateway;
public class SendMessage
{
public void doIt() throws Exception
{
Service srv;
OutboundMessage msg;
OutboundNotification outboundNotification = new OutboundNotification();
System.out.println("Example: Send message from a serial gsm modem.");
System.out.println(Library.getLibraryDescription());
System.out.println("Version: " + Library.getLibraryVersion());
srv = new Service();
SerialModemGateway gateway = new SerialModemGateway("modem.com17", "COM17", 9600, "wavecom", "");//com名称,串口号,破特率,连接设备名称,设备型号
gateway.setInbound(true);//设置网关可以写入信息
gateway.setOutbound(true);//设置网关可以读入信息
gateway.setSimPin("0000");
//gateway.setSmscNumber("555555");
gateway.setOutboundNotification(outboundNotification);
srv.addGateway(gateway);//添加网光
System.out.println("初始化成功,准备开启服务");
srv.startService();//初始化网关
msg = new OutboundMessage("13426478376", "这个是用java发的中文短信放松放松dfgdfsdf的!");//手机号码,和短信内容
msg.setEncoding(MessageEncodings.ENCUCS2);//这句话是发中文短信必须的
srv.sendMessage(msg);//执行发送
System.out.println(msg);
System.out.println("Now Sleeping - Hit <enter> to terminate.");
//System.in.read();
srv.stopService();
}
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);
}
}
public static void main(String args[])
{
SendMessage app = new SendMessage();
try
{
app.doIt();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
分享到:
相关推荐
在Java编程环境中,我们可以利用Java的串口通信API来控制短信猫进行操作。以下是一些关于这个主题的关键知识点: 1. **Java串口通信**: Java的标准库提供了`javax.comm`包,用于处理串行通信。这个包包含了`...
标题中的“用短信猫发送短信java版及所需jar包”是指使用Java编程语言来通过短信猫设备发送短信的功能。短信猫是一种硬件设备,通常通过USB或串口与计算机连接,可以模拟手机SIM卡来发送和接收短信。这个项目提供了...
2. **短信服务 (SMS)**: 压缩包中的内容可能涉及如何使用 Java API 来发送和接收 SMS(短消息服务)。这包括理解如何与手机的短信功能进行交互,例如创建 SMS 消息对象,设置目的地号码,发送和接收消息的处理等。 ...
1.将控件文件smscontrol.ocx和smscontrol.lib 拷贝到WINDOWS系统目录SYSTEM或SYSTEM32下。 2.注册控件:在开“始菜...再点“确定”。... 推荐深圳亿纬公司的原装 wavecom Q2403A 短信猫设备,支持二次开发、性能稳定!
Java短信猫开发包源码是针对短信猫设备进行二次开发的工具,主要目的是为了通过编程方式控制短信猫发送和接收短信。短信猫是一种硬件设备,它能够连接到计算机并模拟手机的功能,允许用户通过电脑来收发短信。在Java...
5. **软件接口**:Wavecom短信猫通常提供API(应用程序编程接口)和驱动程序,使得开发者可以通过编程语言(如C、Python、Java等)与其进行交互,实现短信发送、接收、查询等功能。这些接口可能包括AT命令集,这是...
例如,`CommTest.java`可能就是一个演示如何使用这些库的示例代码,它展示了如何初始化连接、发送短信和接收回复的基本步骤。 配置短信猫涉及到设置串口号(如/dev/ttyUSB0)、波特率(通常为9600)、数据位(8位)...
1. **SMSLib API**:SMSLib提供了一套完整的API,允许开发者使用Java编写程序来控制短信猫,包括发送短信、接收短信、管理联系人、处理短信中心号码等。 2. **多平台支持**:由于是基于Java,SMSLib可以在各种操作...
Java接口可能封装了上述C++接口的部分功能,提供了更面向对象的API,使得开发者可以通过简单的调用来实现彩信操作。例如,可能包含创建MMS消息对象、添加多媒体内容、设置收件人、发送和接收消息等功能。Java接口还...
Java短信收发文档主要涉及Java编程与短信服务的集成,使用了smslib库来实现短信的发送和接收功能。smslib是一个开源的Java库,它提供了与短信猫(硬件设备,用于通过SIM卡进行短信通信)交互的能力。下面将详细阐述...
本文将详细介绍如何使用Java调用短信猫发送短信,以及相关的技术要点。 首先,短信猫(SMS Modem)是一种硬件设备,通过串行接口(如COM端口)连接到计算机,可以模拟手机进行短信收发。Java调用短信猫主要是通过第...
“WAVECOM MODEM开发包及相关说明”很可能包含了针对Wavecom品牌短信猫的驱动程序、API库、示例代码和详细的操作指南。Wavecom是一家知名的无线通信模块制造商,其产品广泛应用于短信猫设备。 3. **C语言开发** ...
由于业务的需要,今天用java实现了用wavecom短信猫发短信的功能,本来这个应该用随猫购买的二次开发接口实现的,但由于这几台猫买的时候,经销商没有提供二次开发接口,所以我不得不在网上找了资料,自己写了个方法...
你仅需要在指定的表中添加记录,本接口程序就自动进行发送短信了,收到的短信会自动保存到数据库里,所以,您不需要了解任何有关数据通信方面的知识,就可实现发送即时短信、定时短信、循环短信、WAP PUSH短信和接收...
在GSM模块或SIM卡上,你需要切换到PDU模式来发送和接收这种格式的短信。这可以通过发送AT+CMGF=0命令来完成。这个命令告诉设备使用PDU模式而不是文本模式(ASCII)。 2. **构建PDU**: PDU由多个字段组成,包括但...
在企业级应用中,短信猫常用于自动化发送短信提醒、数据传输等场景。 在这个【描述】中,“32 64配置文件”可能指的是适用于32位和64位操作系统的驱动程序或配置文档。在进行二次开发时,这些配置文件是必不可少的...
软件开发商可以采取以下四种方式:1、直接使用AT指令,基于串口通讯模式使用AT指令直接操作短信猫,这是最底层的短信猫开发模式,基本上无论是哪种接口的短信猫,其实质还是通过GSM MODEM的串口通讯AT指令来驱动的。...