- 浏览: 700741 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
shappy1978:
自己踩死自己了,我还是有远见的嘛
该死的微软,该死的IE -
calosteward:
I know Zxing and shopsavvy, bot ...
[trans]COMPARISON OF MOBILE BARCODE SCANNERS -
qq690388648:
唉……四年前的Bug,现在还没改,Apache也有不足的地方啊 ...
POI解析Word表格备忘 -
shappy1978:
Now I get to say that every met ...
Jailbreak Detection on iOS -
hebeixiaolei:
你好,我想问一下,用poi如何往word文档里插入超链接呀!
POI读取Word文档总结
http://www.cnblogs.com/bluespot/archive/2008/08/02/1258735.html
这是网上装载相当广泛的一篇关于SM Push的文章,里面提到了SMSLib的包,这是一个基于串口控制GPS Modem或者手机包,网上有相当多的介绍,摸索了一天,基本上学会使用了,备忘如下:
- 需要的第三方包,comm.jar,slf4j(slf4j-api-1.5.10.jar,slf4j-jdk14-1.5.10.jar,log4j-over-slf4j-1.5.10.jar),第一个是基于win32平台的串口控制包,后面是日志的,似乎可以搭配不同的log包使用没有深入学习。commons-net-2.0.jar据说需要,可能是用smpp使用到吧,我用串口的话似乎可以不用。
- 串口可以使com,usb甚至红外,蓝牙,我在5800I上用USB,实际上是com18,smslib里面有一段测试哪个串口连接了手机的类,可以试试
import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.Formatter; import org.smslib.helper.CommPortIdentifier; import org.smslib.helper.SerialPort; public class CommTest { private static final String _NO_DEVICE_FOUND = " no device found"; private final static Formatter _formatter = new Formatter(System.out); static CommPortIdentifier portId; static Enumeration<CommPortIdentifier> portList; static int bauds[] = { 9600, 14400, 19200, 28800, 33600, 38400, 56000, 57600, 115200 }; /** * Wrapper around {@link CommPortIdentifier#getPortIdentifiers()} to be * avoid unchecked warnings. */ private static Enumeration<CommPortIdentifier> getCleanPortIdentifiers() { return CommPortIdentifier.getPortIdentifiers(); } public static void main(String[] args) { System.out.println("\nSearching for devices..."); portList = getCleanPortIdentifiers(); while (portList.hasMoreElements()) { portId = portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { _formatter.format("%nFound port: %-5s%n", portId.getName()); for (int i = 0; i < bauds.length; i++) { SerialPort serialPort = null; _formatter.format(" Trying at %6d...", bauds[i]); try { InputStream inStream; OutputStream outStream; int c; String response; serialPort = portId.open("SMSLibCommTester", 1971); serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN); serialPort.setSerialPortParams(bauds[i], SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); inStream = serialPort.getInputStream(); outStream = serialPort.getOutputStream(); serialPort.enableReceiveTimeout(1000); c = inStream.read(); while (c != -1) c = inStream.read(); outStream.write('A'); outStream.write('T'); outStream.write('\r'); Thread.sleep(1000); response = ""; c = inStream.read(); while (c != -1) { response += (char) c; c = inStream.read(); } if (response.indexOf("OK") >= 0) { try { System.out.print(" Getting Info..."); outStream.write('A'); outStream.write('T'); outStream.write('+'); outStream.write('C'); outStream.write('G'); outStream.write('M'); outStream.write('M'); outStream.write('\r'); response = ""; c = inStream.read(); while (c != -1) { response += (char) c; c = inStream.read(); } System.out.println(" Found: " + response.replaceAll("\\s+OK\\s+", "").replaceAll("\n", "").replaceAll("\r", "")); } catch (Exception e) { System.out.println(_NO_DEVICE_FOUND); } } else { System.out.println(_NO_DEVICE_FOUND); } } catch (Exception e) { System.out.print(_NO_DEVICE_FOUND); Throwable cause = e; while (cause.getCause() != null) { cause = cause.getCause(); } System.out.println(" (" + cause.getMessage() + ")"); } finally { if (serialPort != null) { serialPort.close(); } } } } } System.out.println("\nTest complete."); } }
- 串口主要通过AT命令控制手机发送短信,关于AT命令和PDU的结构请参照下面的博客,作者搜集了相当多的资料
http://hi.baidu.com/dtzw/blog/category/Gsm
- 关于如何向手机指定端口发短信,我搜索了很多资料,可惜没有找到明确的指导资料,有几点要确认的:一般的Short Message Moden(这个关键词的中文居然被和谐了,无聊)和手机短信无法触发注册到特定端口的Midlet,端口数据其实没有写在PDU的结构数据中,而是写在写入短信体的UD中,关于UDHI(User Data Head Indicator)的结构网上没有找到资料,全部都是直接写入短信数据,要了解UDHI还是要自己查SMSLib的代码,它确实可以向指定端口发送短信,不过网上相当多的代码是旧版本的。
发表评论
-
Image Filter on Java
2016-08-25 15:24 333Image Filter on Java: http:// ... -
SMB protocol in Java
2016-08-24 16:19 357http://www.du52.com/text.php?i ... -
Image Process in Java
2016-07-29 17:46 0http://www.javaworld.com/artic ... -
Source Tree - ssl certificate problem unable to get local issuer certificate
2016-05-23 14:23 1273Meet error while iput url htt ... -
[Trans]java实现RSA加密 .
2015-03-03 10:22 767http://blog.csdn.net/wxyfighti ... -
"algid parse error, not a sequence" on initialize private key of RSA
2015-03-02 14:52 993You get this error because yo ... -
Verify Signature(iText)
2015-03-02 10:54 575http://www.berthou.com/us/2009 ... -
Sample of iText
2015-01-26 17:59 640http://rensanning.iteye.com/ ... -
PDF Password
2015-01-26 16:24 652In Acrobat if the PDF is set ... -
iText - Chinese Font
2015-01-26 15:39 1662iText中输出中文,有三种方式: 1、使用iTextAs ... -
iText Relative jar
2015-01-26 15:39 747链接 说明 iT ... -
[trans] Integrate Tomcate with Appach
2013-03-28 12:07 823http://www.ibm.com/developerw ... -
SSH+mysql中文乱码问题
2012-03-03 21:56 1150网上讨论上述问题的有很多,这次其实我项目的配置都对,但是con ... -
MyEclipse8.5 for Mac installation log
2012-02-28 15:15 2326重操旧业了啊 //****************** ... -
mysql odbc不认192.168.1.22
2011-07-14 15:45 1596今天用power designer反向mysql数据库,发现m ... -
[trans]修改webRoot目录
2011-07-13 15:48 1620已经存在的项目,必须删除.setting目录并重新配置,测 ... -
[trans]在CentOS 5上安装FFMPEG
2011-07-13 15:34 980接手一个前期的Web项目,当时是用MyEclipse建立的,用 ... -
调用Runtime.getRuntime().exec后等待命令处理完毕的问题
2011-07-06 11:36 1811try{ String command = ... -
[转]Runtime.getRuntime().exec执行阻塞问题解决
2011-06-28 15:11 2750上篇博文中CallMaxentThreadPoolTask ... -
tomcat for mac start fail
2011-06-03 17:52 1162在执行./startup.sh,或者./shutdown. ...
相关推荐
标签中的".smslib_v3"和".smslib-3.3.0b2.zip"、".smslib-3.3.3"、".smslib3.3.3"暗示了该库的不同版本,其中".smslib-3.3.0b2.zip"可能是早期的测试版本,而".smslib-3.3.3"可能是最终稳定版。这显示了SMSLib的更新...
SMSLib是一个功能强大的Java库,专门用于发送和接收SMS(短消息服务)消息。这个"smslib-v3.2.1.zip"文件包含了该库的版本3.2.1,是一个用于开发SMS应用的工具包。它允许开发者通过Java语言在各种平台上来实现短信...
【smslib】是一个专用于短信开发的Java库,它为开发者提供了一套全面的API,以便于在Java应用程序中发送和接收短信。这个库广泛应用于系统集成、企业级应用以及移动通信解决方案中,使得开发者无需深入理解复杂的...
《smslib-3.5.4.jar:短信猫通信库详解》 smslib-3.5.4.jar 是一个专为短信猫设备提供通信服务的Java库,版本号为3.5.4。这个库的核心功能是使得开发者能够通过编程方式便捷地与短信猫进行交互,实现短信的发送、...
SMSLib是一个功能强大的Java库,专门用于实现短信的发送、接收和管理。它在标题中被称为"SMSLib-Java-v1.1.0.zip_SMSLIB_smslib ja_服务平台",表明这是一个针对Java开发者的资源包,版本号为v1.1.0,且可能包含了...
**smslib-v3.5.2** 是一个基于Java的库,专为简化短信猫(Short Message Service Modem,简称SMS Modem)的开发而设计。这个库的主要目的是帮助开发者快速构建能够通过短信猫发送和接收短信的应用程序,从而节省在...
【短信猫开发smslib源码】是一个用于与短信猫设备进行通信的开源库,主要针对Java平台。smslib是一个功能强大的库,它提供了一种简单而有效的方式来发送和接收通过短信猫设备进行的短消息。这个库对于那些需要在应用...
【标题】"smslib java发送短信"涉及到的是Java平台下使用smslib库来实现短信发送的功能。smslib是一个开源的Java库,专为开发者提供发送和接收短信的能力,尤其适用于那些需要通过短信猫(Modem)或其他短信网关进行...
**SMSLib指南及开发包详解** SMSLib是一个强大的开源库,专为Java平台设计,用于发送和接收短信。它提供了一种简单而高效的方式来处理移动通信,尤其在企业级应用中,如自动化通知、客户服务或者远程监控系统。在这...
标题"smslib .net和java示例"表明这是一个关于使用smslib库进行.NET和Java平台上的短信猫(Modem)开发的示例集合。短信猫是一种硬件设备,通常用于通过调制解调器发送和接收短信。 描述中提到"java版本的短信猫...
**smslib短信开发包详解** smslib是一款专为Java开发者设计的开源短信开发库,它提供了丰富的功能,便于开发者在Java应用中集成短信发送和接收功能。smslib的核心特性包括多线程处理、多种接口支持以及一个内置的...
【smslib-3.5.0.jar】是一个Java库,主要服务于短信通信,特别是与“短信猫”(Modem)设备进行交互。这个库在IT领域中被广泛应用于需要通过短信进行通信的系统,比如自动通知、远程控制、监控以及其他需要短信功能...
【smslib-v3.5.1】是一款基于Java编写的开源库,主要用于通过短信猫(Modem)进行短信的发送和接收。这个库为开发者提供了一种方便、灵活的方式来实现与移动通信设备的交互,从而在各种应用中实现短信功能,如企业...
SMSLIB是一个用Java编写的开源库,它提供了短信发送和接收的功能,为开发者提供了方便的API来实现短信服务。本篇将详细介绍如何使用SMSLIB进行Java短信收发,并结合实际例子进行说明。 首先,理解SMSLIB的核心概念...
【smslib-v3.5.2.zip】是一个包含smslib库的版本3.5.2的压缩包。smslib是一个开源的Java库,专门用于发送和接收短消息(SMS),支持多种通信协议,如串行端口、蓝牙、GSM modem、3G调制解调器、GSM网络中的SMS中心...
SMSLib是一个开源的Java库,专门用于通过各种协议(如GSM、3G、蓝牙、Wi-Fi等)发送和接收短信。它为开发者提供了一种简单且强大的方式来集成短信功能到他们的应用程序中,尤其适合那些需要进行大量短信通信的企业或...
【标题】"SMSLIB短信猫发送短信"是一个基于Java编程语言的Eclipse项目,它利用了SMSLIB组件来实现通过串口与短信猫设备进行通信,从而实现短信的发送功能。这个项目对于需要进行批量短信发送或者自动化短信通知的...
**SMSLib v3.4.4 知识点详解** SMSLib是一个强大的开源库,专为Java平台设计,用于通过串行通信接口控制手机进行短信的发送、接收以及执行其他相关操作。它允许开发者在各种应用程序中集成短信功能,如监控系统、...