通过SMSLib库实现Java程序发送短信
SMS(Short Messaging Service)即短消息业务,是由Etsi所制定的一个规范(GSM 03.40 和 GSM03.38)。当使用其7-bits编码时,可以发送最多160个字符;使用8-bit编码,最多可以发送140个字符,通常无法直接通过手机显 示;还有用16-bit编码时,最多70个字符,被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。
目前程序中发送短信大致有三种途径:
1、 向当地的电信部门申请网关,不需要额外的设备,利用对方提供的API调用程序发送短信,适用于大型的通信公司。
2、 借助像GSM MODEM之类的设置(支持AT指令的手机也行),通过数据线连接电脑来发送短信,这种方法比较适用于小公司及个人。要实现这种方式必须理解串口通信、AT指令、短信编码、解码。
3、 利用网站实现,由网站代发短信数据,对网站依赖性太高,对网络的要求也比较高,不适于进行项目开发。
本文选择了AT命令方式作为讲解。
所谓AT,即Attention。AT命令集是从Terminal Equipment或Data Terminal Equipment向Terminal Adapter或Data Circuit Terminating Equipment发送的,通过TA、TE发送AT命令来控制Mobile Station的功能与GSM网络业务进行交互。我们可以通过AT命令进行呼叫短信、电话本、数据业务、补充业务、传真等方面的控制。 由于AT指令操作是非常之简单的,我们完全可以自己写组件完成相关操作,而且针对联通、移动、小灵通等不同的服务需求,自制组件反而更容易控制及扩充。
在Java编程中可以通过Java Comm进行手机与电脑的串口通讯,并通过AT指令控制手机操作。在Google code上有个SMSLib项目,是一个以AT指令实现手机操作的组件(http://code.google.com/p/smslib/downloads/list)。
SMSLib使用示例如下:
package org.test; import org.loon.framework.test.sms.SMS; import org.loon.framework.test.sms.SMSImpl; public class SendManager { public static void main(String[] args) throws Exception { SMS sms = new SMSImpl(); sms.begin(); // 与默认手机端口建立通讯 sms.getDriver().sendMessage("13012345600" ,"短信内容,默认使用pdu模式,7-bit编码");//13012345600为目标手机号码 sms.end();// 关闭通讯 } }
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lenolong/archive/2008/12/11/3490270.aspx
分享到:
相关推荐
SMSLIB是一个用Java编写的开源库,它提供了短信发送和接收的功能,为开发者提供了方便的API来实现短信服务。本篇将详细介绍如何使用SMSLIB进行Java短信收发,并结合实际例子进行说明。 首先,理解SMSLIB的核心概念...
【标题】"smslib java发送短信"涉及到的是Java平台...以上就是关于"smslib java发送短信"的相关知识点,通过这个库,开发者可以在Java应用程序中轻松集成短信功能,实现与短信猫设备的通信,从而进行短信的发送和接收。
SMSLib是Java编程语言中的一款强大且开源的短信收发库,主要被用来与短信猫设备进行交互,实现通过电脑或服务器发送和接收短信。在标题"SMSLib-Java-v2.1.0.zip_SMSLIB_SMSlib CServi_java 短信收发_短信收发_短信猫...
【标题】"SMSLIB短信猫发送短信"是一个基于Java编程语言的Eclipse项目,它利用了SMSLIB组件来实现通过串口与短信猫设备进行通信,从而实现短信的发送功能。这个项目对于需要进行批量短信发送或者自动化短信通知的...
总结起来,使用SMSLib在Java项目中实现短信收发功能,需要理解Java串口通信的基本原理,正确配置相关库,然后通过SMSLib提供的API调用来实现短信的发送和接收。这为开发者提供了一种高效且无需深入了解底层细节的...
在使用SMSLib时,Java程序会通过串口向GSM modem发送AT命令,以执行发送短信、接收短信、查询状态等功能。 6. **程序实现流程**: - 首先,需要在Java项目中引入SMSLib库。 - 然后,配置串口参数,如波特率、数据...
SMSLib是一个功能强大的Java库,专门用于发送和接收...通过这个库,开发者可以轻松地在Java项目中实现短信功能,无论是简单的单向通知还是复杂的双向通信应用。同时,它提供了详细的文档和构建工具,便于集成和维护。
【标题】"smslib-java-v3.1-RC3.zip_ModemTypes_com.diagcn.smslib_java 发短信_s" 涉及的是一个Java库smslib的特定版本,用于通过调制解调器(ModemTypes)发送短信。smslib是一个开源的、跨平台的Java库,主要用于...
SmsSendJob.java:程序的运行实例(向10086发送11,查询余额,能发能收) 程序中有时候会出现异常: 警告: GTW: SMSLINK: Ignoring InterruptedException in Queue.peek(). 如果有能解决的这个异常的,还请多多指教(yangzl...
Java手机发短信功能通常涉及到的是Java的SMS库,如`smslib`,这是一个开源的库,专门用于通过GSM调制解调器或SMS网关发送和接收短信。`smslib-v3.4.5`是该库的一个特定版本,可能包含了对先前版本的改进和修复。 `...
在Windows环境下,这个库使得Java程序能够与通过COM端口连接的硬件设备进行通信,例如GSM调制解调器或SIM卡读卡器。通过Java的串行端口API,开发者可以设置波特率、数据位、校验位和停止位,从而与手机建立连接并...
标题中的“sms.rar_SMS MODEM怎么用_SMSLIB_gsp java_smslib mms_smslib mms”揭示了我们要探讨的主题:如何使用SMS LIB库通过GSP(可能是GSM Service Provider)Modem来发送和接收手机短信,并涉及到MMS功能。...
SMSLib是一个功能强大的Java库,专门用于实现短信的发送、接收和管理。它在标题中被称为"SMSLib-Java-v1.1.0.zip_SMSLIB_smslib ja_服务平台",表明这是一个针对Java开发者的资源包,版本号为v1.1.0,且可能包含了...
SMSlib是一个开源Java库,专门设计用于通过各种接口(如串口、GSM调制解调器或网络)发送和接收短信。RXTX是另一个关键组件,它是Java的串行通信库,允许Java应用程序与串行端口交互。本教程将重点讲解如何在64位...
smslib是一个功能强大的库,它提供了一种简单而有效的方式来发送和接收通过短信猫设备进行的短消息。这个库对于那些需要在应用程序中集成短信功能,例如报警系统、通知服务或者自动化流程的人来说,是非常有用的。 ...
RXTX库是SMSLIB在底层与硬件设备进行通信的关键,它允许Java程序通过串口直接与短信猫进行交互,实现了操作系统级别的通信支持。 在XP和CentOS_6_x86_64上成功运行SMSLIB+RXTX组合,意味着这个开发模块具有良好的跨...
1. **多线程处理**:smslib利用Java的多线程机制,可以同时处理多个短信任务,如并发发送和接收,提高了程序的执行效率。 2. **smsserver**:smslib内建了一个smsserver组件,它可以作为一个独立的服务运行,用于...
SMSLib是一个强大的开源库,专为Java和.NET平台设计,用于与GSM模块进行交互,实现短信的发送和接收功能。这个库使得开发者能够轻松地集成短信服务到他们的应用程序中,而无需深入理解复杂的通信协议。最新版本...
Java程序可以通过实现SMPP协议与服务提供商的系统建立连接,发送和接收短信。 3. **认证和连接** 在开始发送短信之前,需要与短信网关建立连接并进行身份验证。这通常涉及到提供一个独特的System ID、Password以及...