- 浏览: 159171 次
最新评论
-
bihongliang:
并且服务端一直报错:javax.bluetooth.Bluet ...
android 和 PC端 进行蓝牙通信 demo -
bihongliang:
你好,博主,我是windows10 64 位系统,加载了 64 ...
android 和 PC端 进行蓝牙通信 demo -
白云飘飘2016:
fcylf 写道win7 64位,pc端测试,报错:Nativ ...
android 和 PC端 进行蓝牙通信 demo -
fcylf:
win7 64位,pc端测试,报错:Native Librar ...
android 和 PC端 进行蓝牙通信 demo -
abc天残:
http://www.iteye.com/images/smi ...
android 从服务器下载更新新版本软件 demo
居然不能发表SMS Cat的中文名?!
这个是 SMS Cat设备
需要插入SIM卡,所以,是需要付短信费的。
插好USB和电源后,会安装好驱动,可以在设备管理可以查看到端口号
也有一种软件可以测试端口是否可连接:secureCRT
新建好connection后,输入AT测试,如果OK就OK。
好了,端口确定没问题了。
接着,在你的JDK的bin路径下放一个win32com.dll
在JDK的lib中放一个comm.jar和javax.comm.properties
需要的文件都在附件SMSCat.rar中。
OK,所有都准备完了,现在开始代码测试。
demo测试需要用到的jar
sms.properties#sms properties
Message.comId=modem.com19 Message.com=COM19 Message.baudRate=9600 Message.manufacturer=wavecom Message.model= Message.simPin=0000
注意:这里的端口COM19必须和你上面的端口对应。
SMSService.java
/** * Copyright(C) 2012 GZ ISCAS ALL Rights Reserved */ package com.royal.SMSCat; import java.util.Properties; import org.smslib.Message.MessageEncodings; import org.smslib.OutboundMessage; import org.smslib.Service; import org.smslib.modem.SerialModemGateway; import com.royal.utils.PropertiesUtil; /** * 描述:SMS Cat服务类 */ public class SMSService { /** * 私有静态实例 */ private static SMSService instance = null; /** * 是否开启服务 */ private boolean isStartService = false; /** * 私有构造方法 */ private SMSService() { } /** * 获取实例(单例模式) * * @return */ public static SMSService getInstance() { if (instance == null) { instance = new SMSService(); } return instance; } /** * 开启短信服务 * * @param path * 配置文件路径 */ public void startService(String path) { System.out.println("开始初始化SMS服务!"); // 加载文件属性 Properties p = null; try { p = PropertiesUtil.getProperties(path); } catch (Exception e) { System.out.println("加载属性文件出错:" + e.getMessage()); return; } // 初始化网关,参数信息依次为:COMID,COM号,比特率,制造商,Modem模式 SerialModemGateway gateway = new SerialModemGateway(p.getProperty("Message.comId"), p.getProperty("Message.com"), Integer.parseInt(p.getProperty("Message.baudRate")), p.getProperty("Message.manufacturer"), p.getProperty("Message.model")); gateway.setInbound(true); gateway.setOutbound(true); gateway.setSimPin(p.getProperty("Message.simPin")); OutboundNotification outboundNotification = new OutboundNotification(); Service service = Service.getInstance(); if (service == null) { System.out.println("初始化SMS服务失败!"); return; } service.setOutboundMessageNotification(outboundNotification); try { service.addGateway(gateway); // 开启服务 service.startService(); System.out.println("初始化SMS服务成功!"); isStartService = true; } catch (Exception e) { System.out.println("开启SMS服务异常:" + e.getMessage()); } } /** * 停止SMS服务 */ public void stopService() { try { Service.getInstance().stopService(); } catch (Exception e) { System.out.println("关闭SMS服务异常:" + e.getMessage()); } isStartService = false; } /** * 发送短信 * * @param toNumber * 手机号码 * @param message * 短信内容 */ public void sendMessage(String toNumber, String message) { if (!isStartService) { System.out.println("尚未开启SMS服务!"); return; } // 封装信息 OutboundMessage msg = new OutboundMessage(toNumber, message); msg.setEncoding(MessageEncodings.ENCUCS2); try { // 发送信息 Service.getInstance().sendMessage(msg); } catch (Exception e) { System.out.println("SMS服务发送信息发生异常:" + e.getMessage()); isStartService = false; } } }
OutboundNotification.java
package com.royal.SMSCat; import org.smslib.AGateway; import org.smslib.IOutboundMessageNotification; import org.smslib.OutboundMessage; /** * 封装发送短信类 */ public class OutboundNotification implements IOutboundMessageNotification { public void process(AGateway gateway, OutboundMessage msg) { System.out.println("Outbound handler called from Gateway: " + gateway.getGatewayId()); } }
SMSCatClient.java
package com.royal.SMSCat; public class SMSCatClient { /** * 测试 * * @param args */ public static void main(String[] args) { String path = "D:\\sms.properties"; SMSService.getInstance().startService(path); SMSService.getInstance().sendMessage("13800138000", "测试 Test!"); //没必要的时候没停止服务,因为端口占用着 SMSService.getInstance().stopService(); } }
测试结果自己找个手机号测吧
看见了吗?控制台中的服务(红色标识)还在跑着,也就是端口还在占用着;服务没断,可以不用重新初始化。
- SMSCat.rar (1.3 MB)
- 下载次数: 265
发表评论
-
各地图API坐标系统比较与转换
2015-08-07 15:34 997/** * 各地图API坐标系统比较与转换; * W ... -
Netty Websocket 例子
2015-01-08 14:36 1794Netty框架(Netty-3.5.7.Final)来实现W ... -
基于CXF的webService本地数据交互----PC端(四)
2013-04-26 17:20 1582不想新建项目了(可以参考前面一、二、三),就在现有的 ... -
LDAP简单的增删查改
2013-03-04 14:08 30911. 认证信息: package com.royal ... -
pushlet 推送框架简单使用Demo
2013-01-30 14:48 3200人懒了,有点不想写了,网上有好例子,帮忙宣传一下。 ... -
jersey demo
2012-08-28 16:33 2119同样是Maven构建的项目,不解释。 项目 ... -
验证码例子(jcaptcha插件的使用)
2012-07-20 11:45 2574和上一篇验证码的例子(kaptcha插件的使用)类 ... -
验证码例子(kaptcha插件的使用)
2012-07-19 17:35 2811使用kaptcha插件实现验证码小例子(顺便加了spri ... -
springMVC security Demo
2012-07-03 10:33 2459springMVC 结合权限控制。 项目目录结构 ... -
Apache Mina 入门Demo
2012-06-11 14:45 8146什么是Mina,用Mina可以干什么? 官网 ... -
springMVC Demo
2012-06-07 16:32 1572项目目录结构图: 项目前需要用到的jar包 ... -
List 对象排序 Demo
2012-04-19 11:18 902List 对象排序 Demo 项目目录结构: ... -
restful webservice in springMVC Demo
2012-04-18 17:24 2974Maven restful webservice spring ... -
dom4j简单的XML文件遍历 demo
2012-04-10 15:48 1561随便找一个简单的xml文件,存放进自己的项目中 data.x ... -
基于CXF的webService本地数据交互----PC端与Android端(三)
2012-03-31 09:49 2403本篇基于(二)的基础上续写 主要是JSON的数据交 ... -
bitbucket免费在线库的简用
2012-03-22 10:46 4496bitbucket相当于SVN;版本库的管理,在线免费存储。一 ... -
Checkstyle代码检测插件简用
2012-03-16 13:17 14581.Checkstyle特点简介 a.自动化代码检测 ... -
基于CXF的webService本地数据交互----PC端与Android端(二)
2012-03-15 17:02 1463服务端以maven的形式创建项目。 项目创建好后 ... -
maven自定义本地库位置.m2/repository
2012-03-14 16:56 10271默认的maven本地库位置是:${user.home}/.m2 ... -
jrebel插件实现热部署
2012-03-09 11:59 5240一、eclipse中 jrebel 插件的安装: ...
相关推荐
下面是一个简化的步骤,演示如何使用Java实现短信猫发短信: 1. 加载comm.jar库,确保`javax.comm`包可用。 2. 加载javax.comm.properties配置文件,初始化串口参数。 3. 使用`CommPortIdentifier`获取到短信猫所...
本教程将聚焦于如何利用Java结合短信猫(Modem)发送短信,这通常涉及到AT指令集的使用以及串行通信。短信猫是一种硬件设备,能够通过SIM卡连接到移动网络,从而实现短信收发功能。在Java中,我们通常会借助特定的库...
首先,飞信SMS的API接口通常适用于PHP和ASP编程语言,这意味着开发者可以编写脚本或程序,通过调用这些接口来自动化短信发送过程。对于PHP,开发者可以使用cURL库或者file_get_contents函数发起HTTP请求到飞信的...
如果你在使用过程中遇到问题,可以在博主的博客中搜索“腾讯云sms短信服务”相关的教程,获取更详细的步骤和常见问题解答。 通过以上介绍,你应该对如何使用腾讯云SMS SDK有了基本了解。结合`qcloudsms_java-master...
【标题】"java-sms-1.1.rar_DEMO_短信"揭示了这是一个与Java编程相关的短信服务项目,版本为1.1。这个压缩包很可能包含了一个用于发送和/或接收短信的DEMO应用程序,旨在帮助开发者理解如何在Java环境中实现短信功能...
/**短信接收发*/ private String recver;//短信接收发 /**时间*/ private Date date; public String getSmstext() { return smstext; } public void setSmstext(String smstext) { this.smstext = smstext...
我们使用的是单条发送短信服务,特殊情况下也对群发小支持一下。(最多1000个手机号码发送同样的内容),而且群反会有延迟。 如果需要在一次请求中分别向多个不同的手机号发送不同签名和模板内容短信,使用他的另一...
本文将详细介绍如何使用Java语言通过串行接口(通常称为“串口”)来控制GSM模块完成发送短信、拨打电话及删除短信等操作。 #### 一、基础知识简介 **GSM模块**:GSM(Global System for Mobile communication)是一...
3. **调用Java方法**:使用`CallStaticVoidMethod`或`CallVoidMethod`等函数,根据方法是否为静态,以及传入的参数类型,调用Java方法。 4. **处理结果**:根据Java方法的返回值,易语言程序可以进行相应的操作。 ...
本话题主要探讨如何使用Java调用由C++实现的Web服务(Webservice)。在给出的描述中,提到了通过WSDL(Web Services Description Language)文件来实现这一目标。以下是关于这个主题的详细知识点: 1. **Web服务...
Java调用OCR进行图片识别是指使用Java语言通过Tesseract-OCR对图片进行识别的技术。下面是相关知识点的详细解释: 一、Tesseract-OCR简介 Tesseract-OCR是一个开源的OCR(Optical Character Recognition,光学字符...
摩杜云短信业务接入,该平台支持国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。国内短信支持三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动...
### Java调用C语言知识点详解 #### 一、概述 在跨语言编程中,Java调用C语言是一种常见的场景,特别是在需要与操作系统底层交互或利用已有C语言库的情况下。Java Native Interface (JNI) 是实现这一功能的核心技术...
描述中提到的Groovy调用Java的过程是“无缝”的,这意味着Groovy对Java API的集成非常紧密,使得开发者可以自然地在Groovy中使用Java的功能。 Java调用Groovy类则稍微复杂一些,通常有两种主要方法: 1. **方法1:...
以上就是使用Java发送邮件和短信的基本步骤。在实际应用中,还需要考虑异常处理、日志记录、性能优化等多方面因素,以确保可靠性和安全性。通过阅读提供的`java短信发送`和`java发送邮件`的文件,你可以找到更具体的...
Delphi SMS短信收发例子是针对使用Delphi编程语言实现短信功能的一个实例教程,对于初学者来说具有很好的学习价值。这个实例涵盖了从短信协议理解到实际编程应用的多个环节,让我们来深入探讨一下其中涉及的知识点。...
Java调用OCX控件是跨平台编程中的一项技术挑战,因为OCX(Object Linking and Embedding Control)是微软Windows环境下的...在实际操作时,需要仔细处理好jar和dll文件的配置,确保Java能够正确地调用和使用COM组件。
在IT行业中,调用外部服务来增强应用功能是一种常见的做法,比如使用有道翻译API来实现文本翻译。本文将详细讲解如何在Java环境下调用有道翻译API,以实现高效、便捷的多语言翻译功能。 首先,有道翻译API提供了一...
适用于大中小型企业、商场、酒店...主要提供短信网关,短信接口, 网站接口以及 OA 、 CRM 、 ERP 、 SCM 、等系统及B2B大型网站平台使用。 接入方式可灵活使用,24小时发送,多条通道备用。保证客户短信的下发速度和质量
通过上述分析,我们可以看出,Java调用ActiveX控件的过程涉及到了多层面的技术融合,包括Java的图形用户界面编程、JNI机制、C/C++编程、Windows API以及ActiveX控件的使用。虽然这一过程相对复杂,但对于需要在Java...