利用jsmsengine开源包进行短信的收发 -凯发k8网页登录

专注于javaweb开发
随笔 - 39, 文章 - 310, 评论 - 411, 引用 - 0
数据加载中……
公司项目中要用到短信猫进行收发短信,在网上找到一个开源的jsmsengine。经测试jsmsengine
可以实现项目需求。

jsmsengine
开源包可以利用gsm modem或带有红外线、蓝牙、数据线的手机与电脑连通,收发短信。
相应的类库下载我已经打包好了

jsmsengine开源项目凯发k8网页登录主页
http://sourceforge.net/projects/jsmsengine/



让我们先来配置开发环境环境。

1.    复制comm.jar、jsmsengine.jar到jre\lib\ext文件夹下,或把开发包添加到开发环境中。
2.    复制javax.comm.properties到\jre\lib目录下。
3.    复制win32com.dll到\jre\bin目录下。


用如果是用eclipse开发的话看看install jre里面的jre路径,用那个就可以了。

如果不用开发工具的话jre就是你在系统环境里配置的java_home 的路径。

以上工作是必须的,很重要。到这时环境已经准备好了。


在设备管理器下,看看手机占用的哪个com端口,更改程序里面的com端口和比特率两个参数,找一台带数据线的手机试试,最好不带内存卡的那种。

发送短信代码:
import java.util.linkedlist;

import org.jsmsengine.cincomingmessage;
import org.jsmsengine.cmessage;
import org.jsmsengine.coutgoingmessage;
import org.jsmsengine.cservice;

@suppresswarnings(
"unchecked")
/****
 * 收发短信的服务类
 
*/
public class msgservice
{
    
private static cservice cs = null;

    
public static void init(string port, integer fm)
    {
        
// 指定端口号和频率
        cs = new cservice(port, fm);
    }

    
/**
     * 发送短信
     * 
     * 
@param phone
     *            手机号
     * 
@param info
     *            短信内容
     
*/
    
public static void sendmsg(string phone, string info)
    {
        
try
        {
            system.out.println(
"正在发送短信");
            
// 初始化连接
            cs.initialize();
            
// 设置jsmsengine服务的缓存
            cs.setcachedir(".\\");
            
// 连接
            int status = cs.connect();
            
// 连接成功(可以是gsm modem、带有红外线、蓝牙、数据线的手机)
            if (status == cservice.err_ok)
            {
                cs.setoperationmode(cservice.mode_pdu);
                cs.setsmscnumber(
"");
                coutgoingmessage msg 
= new coutgoingmessage(phone, info);
                msg.setmessageencoding(cmessage.message_encoding_unicode);
                
if (cs.sendmessage(msg) == cservice.err_ok)
                {
                    system.out.println(
""  phone  "发送短信成功!");
                } 
else
                {
                    system.out.println(
""  phone  "发送短信失败!");
                }
                
// 断开连接
                cs.disconnect();
            } 
else
            {
                system.out.println(
"连接设备失败, 异常: "  status);
            }
        } 
catch (exception e)
        {
            e.printstacktrace();
        }
    }
    
/***
     * 读取短信内容
     
*/
    
public static void readmsg()
    {
        
//存入短信集合
        linkedlist msglist = new linkedlist();
        
try
        {
            system.out.println(
"读取短信中。。。。");
            cs.initialize();
            cs.setcachedir(
".\\");
            
// 连接设备
            int status = cs.connect(); 
            
if (status == cservice.err_ok)
            {
                cs.setoperationmode(cservice.mode_pdu);
                
if (cs.readmessages(msglist, cincomingmessage.class_all) == cservice.err_ok)
                    
for (int i = 0; i < msglist.size(); i)
                    {
                        cincomingmessage msg 
= (cincomingmessage) msglist.get(i);
                        system.out.println(msg);
                        
//输出短信文本
                        system.out.println(msg.gettext());
                        
//删除短信
                        cs.deletemessage(i);
                    }
                
// 断开连接
                cs.disconnect();
            } 
else
                system.out.println(
"设备连接失败:"  status);
        } 
catch (exception e)
        {
            e.printstacktrace();
        }
    }

    
public static void main(string[] args)
    {
        init(
"com4"9600);
        sendmsg(
"15800000000""这是一个测试程序");
        readmsg();
    }
}

ok,测试成功!


posted on 2012-01-13 13:40 々上善若水々 阅读(1855) 评论(3)     所属分类: j2se

# re: 利用jsmsengine开源包进行短信的收发[未登录]  回复     

你好请问利用jsmsengine开源包进行短信的收发
出现了
exception in thread "main" java.lang.noclassdeffounderror: gnu/io/serialporteventlistener异常
请问是什么问题呢?

还有
1. 复制comm.jar、jsmsengine.jar到jre\lib\ext文件夹下,或把开发包添加到开发环境中。
2. 复制javax.comm.properties到\jre\lib目录下。
3. 复制win32com.dll到\jre\bin目录下。都已经做好了

我的电脑操作系统是win7旗舰版
2016-03-02 15:23 |

# re: 利用jsmsengine开源包进行短信的收发[未登录]  回复     

知道的话联系我qq邮箱谢谢
2016-03-02 15:23 |

# re: 利用jsmsengine开源包进行短信的收发[未登录]  回复     

qq邮箱
550725115@qq.com
2016-03-02 15:24 |

只有注册用户后才能发表评论。


网站导航:
              
相关文章:
 
网站地图