<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    利用jSMSEngine開源包進行短信的收發

    公司項目中要用到短信貓進行收發短信,在網上找到一個開源的jSMSEngine。經測試jSMSEngine
    可以實現項目需求。

    jSMSEngine
    開源包可以利用GSM Modem或帶有紅外線、藍牙、數據線的手機與電腦連通,收發短信。
    相應的類庫下載我已經打包好了

    jSMSEngine開源項目主頁
    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(
    "設備連接失?。?/span>" + 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 々上善若水々 閱讀(1935) 評論(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 | 我是菜鳥
    主站蜘蛛池模板: 精品一区二区三区免费观看| 成人a视频片在线观看免费| 免费国产成人α片| 成人毛片免费观看视频| 亚洲综合AV在线在线播放| 中国亚洲呦女专区| 免费久久人人爽人人爽av| 超pen个人视频国产免费观看| 亚洲国产成人片在线观看| 美女视频黄频a免费观看| 91精品国产免费久久久久久青草| 亚洲精品无码专区2| 国产成人精品日本亚洲网址| 国色精品va在线观看免费视频| 亚洲精品成人无限看| 豆国产96在线|亚洲| 久久久www成人免费毛片| 亚洲一区二区电影| 国产一级a毛一级a看免费人娇| 国产极品美女高潮抽搐免费网站| 久久精品亚洲一区二区三区浴池 | 四虎成人免费影院网址| www亚洲精品久久久乳| 国产成人精品日本亚洲专区61| 精品国产免费一区二区三区香蕉| 久久亚洲AV成人无码软件| 三上悠亚在线观看免费| 婷婷亚洲综合五月天小说 | 一区二区亚洲精品精华液| 亚洲精品国产免费| 久久精品国产96精品亚洲 | 成**人免费一级毛片| 未满十八私人高清免费影院| 国产无遮挡裸体免费视频| h片在线观看免费| 亚洲综合色在线观看亚洲| 亚洲AV无码一区二区三区鸳鸯影院| 国产精品亚洲不卡一区二区三区| 国产成人一区二区三区视频免费 | 久久精品国产免费观看| 91午夜精品亚洲一区二区三区|