前些日子,做了一个短信事务平台的软件,现在把在开发心得写出来,与大家共享。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开发短信息发送软件相关推荐

  1. Android软件开发之发送短信与系统短信库解析(三十)

    Android软件开发之发送短信与系统短信库解析 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/arc ...

  2. 学习andriod开发之 自己开发短信发送软件

    短信大家都很常用 我们往往在发短信的时候 调用的是系统的发送短信 主要原理是发送一个意图intent( 这个我们以后再说) 其实我们可以自己写一个短信发送软件 想想是不是有点激动呢 撒 一起来开始吧 ...

  3. wpf开发仿真3d软件_web 3d 与仿真

    web进入3d时代的时间并不长,web在3d领域的发展却十分迅速.web 3d技术已经在房地产房型展示.博物馆艺术品或文物展示.电商平台的商品展示领域获得广泛应用.然而web 3d技术在仿真领域的应用 ...

  4. 开发一个发送手机短信的计算机软件

    开发一个发送手机短信的计算机软件 很久以前就有这个想法了,无奈时间有限,资料不足,一直没有成功.昨天突然意念再生,没想到还真搞成功了.接下来我将对这方面的技术做一个总结,并详细介绍我使用的方法细节.我 ...

  5. NET开发邮件发送功能的全面教程(含邮件组件源码)(

    天,给大家分享的是如何在.NET平台中开发"邮件发送"功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下. AD:2013云计算架构师峰会精彩课程曝光 ...

  6. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发"邮件发送"功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2 ...

  7. [转].NET开发邮件发送功能的全面教程(含邮件组件源码)

    转载自http://www.cnblogs.com/heyuquan/p/net-batch-mail-send-async.html 今天,给大家分享的是如何在.NET平台中开发"邮件发送 ...

  8. Python开发多媒体管理软件实现方法

    软件开发环境 python 3.7.3 pycharm Community 2020 PYQT5 教师端控制界面 下拉列表显示全部已经连接的客户端ip地址 对选中的设备进行查看设备信息,重启电脑,关闭 ...

  9. 前端常用开发环境、软件等

    前端常用开发环境.软件等 一.开发环境 1. git/svn 版本控制首选 2. node(nvm) 前端必备环境,nvm 是 node 的多版本管理器,如有需要在多版本 node 之间切换可使用 n ...

最新文章

  1. PHP不读取Excel空行,phpexcel中遇到空单元格不跳过
  2. 高性能MySQL(2)——Schema与数据类型的优化
  3. 教你如何做出想要的PHPDocker镜像
  4. Okhttp 向服务器发送请求(请求头,表单,post json数据)...
  5. 血脂测试软件,医院检查血脂一般用什么仪器
  6. listview 中内容覆盖了屏幕底部的工具栏的解决办法
  7. geek软件是干什么的_详解强力卸载软件Geek Uninstaller使用教程
  8. can通信中如何设置屏蔽验收码的总结
  9. 万能密码 php,分析PHP网站下的万能密码
  10. 联想笔记本e43l_联想笔记本E43L的产品介绍
  11. golang快速入门[3]-go语言helloworld
  12. 在命令行中快速移动光标的快捷键
  13. windows 性能监控--Perfmon主要指标
  14. CTeX:中英文混排无法正常换行+字体调整+行距调整
  15. 【OpenGL】查看显卡对OpenGL的支持程度
  16. Linux_rpm安装
  17. Linux ALSA 之六:ALSA ASoc 架构
  18. 【一句日历】2019年3月
  19. Java版本工程行业管理系统源码-专业的工程管理软件-提供一站式服务
  20. XPS如何在线批量转换成PDF

热门文章

  1. 应用场景架构设计分析(一些思考不完整)
  2. 序列相关的趣题 之四
  3. USB4规范解读(三):深入了解USB4的系统结构和工作原理
  4. Activiti获取批注信息
  5. python turtle绕原点旋转_分享给大家几段有趣的代码,学会python画画可以不用自己动手啦...
  6. TensorFlow 官方API 中文版(二)
  7. 这样的文字环绕效果,你绝对没有见过!
  8. 关于国内目前保险行业的IT核心系统的一些感受
  9. 详解深度优先搜索与回溯
  10. paypal如何支付欧元_paypal怎么充值美元【货币问答】- 联合货币