前些日子,做了一个短信事务平台的软件,现在把在开发心得写出来,与大家共享。jSMSEngine开源包可以利用GSM Modem或带有红外线、蓝牙、数据线的手机与电脑连通,收发短信。有了此功能,我们就可以做很多手机做不了的事情。比如保存重要的短信、短信群发、共享收发短信等。
话不多说,先到http://jsmsengine.sourceforge.net/下载开源包,笔者试过几个版本,感觉1_2_6-B1版本比较稳定。包括comm和jSMSEngine。将jsmsengine_1_2_6-B1解压,可以看到相关的jar包、源码、文档、例子以及一个简单的SMS服务器程序。
先来配置开发环境环境。
1. 复制comm.jar、jSMSEngine.jar到(JDKDIR)\lib\ext文件夹下,或把开发包添加到开发环境中。
2. 复制javax.comm.properties到(JDKDIR)\jre\lib目录下。
3. 复制win32com.dll到(JDKDIR)\jre\bin目录下。(以上红色这里很重要)
在examples文件夹下,有个SendMessage.java的原文件,这是他自带发短信的例子,我们就从这里出发。
int status;//记录连接状态
CService srv = new CService("com1", 9600);//创建jSMSEngine服务,第一个参数是连接端口,第二个参数是连接速率
srv.initialize();//初始化jSMSEngine服务
srv.setCacheDir(".\\");//设备jSMSEngine服务的缓存
status = srv.connect();//连接设备 这设备可以是GSM Modem、带有红外线、蓝牙、数据线的手机
if (status == CService.ERR_OK){//如果连通状态OK
srv.setOperationMode(CService.MODE_PDU);//设置模式
srv.setSmscNumber("");
//System.out.println()方法是输入连接状态信息
COutgoingMessage msg = new COutgoingMessage("13500000000", "test");//创建发短信实例,第一个参数是接收的手机号码,第二个参数是短信内容。
if(srv.sendMessage(msg) == CService.ERR_OK)
System.out.println("Message Sent!");//如果发送成功,就输入Message Sent!
else
System.out.println("Message Failed!");//否则输入Message Failed!
srv.disconnect();//断开连接
}
else{
System.out.println("Connection to mobile failed, error: " + status);//如果连接状态失败,则输入Connection to mobile failed, error:和失败的参数,这就是常见的-11,或-22等信息
}
用JCreator编译该文件,如果程序出现如下错误:
Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path
Connection to mobile failed, error: -11
根据错误提示,引用的一个java在windowns下访问串口的必备动态链接库——win32com.dll,找到这个东东后把它拷贝到JDK安装目录下的bin文件夹下。
以上是发短信,examples文件夹下,还有个ReadMessages.java文件,是用来收短信的。与发短信相对比,只是以下语句不同,其它都是一样的。
if (srv.readMessages(msgList, CIncomingMessage.CLASS_ALL) ==CService. ERR_OK){//如连接OK,读取设置内的短信信息也OK
for (int i = 0; i < msgList.size(); i ++){
CIncomingMessage msg = (CIncomingMessage) msgList.get(i);//读取短信,并保存在msg对象里
System.out.println(msg);
}
}
msg对象里,还有几个方法,getOriginator()获取电话号码,getDate()获取发短信时间, getText()获取短信内容。
我们主要用的的就是发短信,收短信。只是这开发包是集成了超级终端的AT指令,只支持收发文本,不支持彩信。只要把这两个搞定啦,利用短信做什么,就由我们定啦,比如在程序里,解释短信内容启动或关闭某一程序,收取系统监控信息等。我们小组就利用这个开发包,开发了短信事务平台,功能简介:一台服务器连上GSM Modem,N个客户端用TCP协议连上服务器,客户可以单/群收发短信,添加事务到数据库,按事务设定时间,自动发短信到客户手机,提示事务,还可以通过手机远程管理事务。
jSMSEngine1.2.6开发包,笔者在Nokia、三星、GSM Modem,JDK 1.5,JDK 1.5.0 ,在Eclipse5、测试通过。
分享到:
相关推荐
通过使用jSMSEngine,开发者能够轻松地集成短信发送功能到他们的应用程序中,以支持客户服务、通知、验证等业务场景。 jSMSEngine的核心特性包括: 1. **多协议支持**:jSMSEngine支持多种短信网关协议,如HTTP、...
3. **消息队列**:为了处理大量并发的短信请求,JSMSEngine 实现了消息队列机制,可以有效地缓冲和管理待发送的消息,确保系统的稳定性和高效性。 4. **日志记录与错误处理**:JSMSEngine 支持详细的日志记录,便于...
综合以上信息,jSMSEngine是一个用Java编写的短信服务引擎,提供发送和接收短信的能力,并带有丰富的示例和文档,适合开发者进行集成和二次开发。其许可证、构建脚本和示例代码使得它在遵循规定的情况下易于部署和...
3. **LICENSE.txt**:此文件包含了jSMSEngine的许可协议,定义了软件的使用、分发和修改规则。了解这个协议对于确保合法合规地使用该库至关重要,尤其是对于商业项目而言。 4. **misc**:这个目录可能包含了各种...
开发者可以通过导入这个JAR文件在自己的Java应用中使用jSMSEngine的功能,如发送和接收短信、管理短信服务提供商的连接等。 3. **LICENSE.txt**:文件包含了软件的许可协议,定义了用户可以如何使用、修改和分发该...
**使用jSMSEngine发送短信息**,首先需要理解其核心概念和组件。通常,jSMSEngine会包含以下部分: 1. **SMS Provider**: 这是与短信网关进行交互的接口,用于发送和接收短信。开发者需要配置提供商的相关参数,如...
"j"代表Java,"SMS"代表短消息服务,"Engine"则意味着它是处理和发送短信的核心模块。 2. **版本1.2.4**: 这是软件的特定版本,表明在先前版本的基础上进行了改进和更新,可能包括错误修复、性能优化或者增加了新的...
这个引擎是一个专门用于处理和发送SMS(短消息服务)的开源工具,适用于开发人员在Java应用程序中集成短信功能。下面我们将详细探讨jSMSEngine的核心特性和应用。 1. **jSMSEngine.jar**: 这是jSMSEngine的主要库...
4. **LICENSE.txt**: 这个文件通常包含了软件的授权协议信息,详细说明了用户可以如何使用、分发和修改软件。对于jsmsengine,这可能是一个开源许可证,比如Apache 2.0或MIT,这意味着它鼓励二次开发和分享。 5. **...
3. **LICENSE.txt**:此文件包含jSMSEngine的许可信息,规定了使用、修改和分发该软件的条款和条件。理解许可证条款对于合法合规地使用开源软件至关重要。 4. **examples**:这是一个目录,可能包含使用jSMSEngine...
8. **jSMSServer**:这可能是一个服务器端的组件,与jSMSEngine一起工作,用于处理短信服务的后台任务,如连接到短信网关、处理发送请求、存储消息记录等。 jSMSEngine的核心功能可能包括: - **短信发送和接收**...
`LICENSE.txt`文件提供了软件的许可协议信息,详细说明了jSMSEngine的使用权限、限制以及分发条件。用户在使用前必须仔细阅读并遵循这些条款,以确保合法合规地使用该软件。 `org`目录很可能包含了jSMSEngine的源...
`examples` 文件夹包含了一些示例代码,展示了如何使用jSMSEngine进行短信发送、接收和其他操作。这对于初学者来说非常有用,因为他们可以参考这些例子快速了解如何正确地集成和使用这个库。 `misc` 文件夹可能包含...
- **LICENSE.txt**:这是一个重要的文件,其中包含了jSMSEngine的许可协议,规定了用户可以如何使用、修改和分发这个软件。遵循这些条款对合法使用软件至关重要。 5. **文档**: - **docs** 目录:这个目录很可能...
例如,企业可以利用它构建内部通知系统,即时发送重要消息给员工;开发者可以将其用于开发验证码发送服务,提升网站的安全性;甚至,它还可以用于创建社交应用,实现用户之间的信息交流。 在文件列表中,"代码中国....
- README文件提供了关于jsmsengine的基本信息、安装指南、使用示例和可能的注意事项。它是开发者开始使用这个库时的重要参考文档。 6. **org 文件夹**: - 在Java项目中,"org"通常是包名的前缀,代表组织或项目...
6. **技术宝典-使用jsmsengine发送短信息(SMS)使用心得!(原创).htm**:这是一份详细的使用指南,可能包含了作者在使用jSMSEngine发送短信过程中的经验分享和常见问题解决方法,对于初学者来说是非常宝贵的资源。...