讓變化成為計劃的一部分

          歡迎大家探討本Blog涉及的所有軟件課題。我的Google Talk ID:zhengyun(at)gmail.com。

          我最希望軟件帶給用戶的感受是:美好的體驗、舒適感、簡約、干凈...

          posts - 32, comments - 8, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          第一,同一個端口是不允許兩個程序監聽的。
          參見注釋:
          Trying to bind to an already reserved local address causes an IOException to be thrown!
          也就是說。調用(MessageConnection)Connector.open("sms://:5000"); 時就會拋出異常。

          第二,(MessageConnection)Connector.open監聽不同端口是沒有問題的。比如http://www.cnblogs.com/Files/zhengyun_ustc/SimplePushRegistry.rar的例子,你就可以看出這一點。在midlet的startApp中,
           protected void startApp() throws MIDletStateChangeException {
            
            if (!init) {
                init = true;
                String[] conns =
                  PushRegistry.listConnections(false);
                System.out.println("Found " + conns.length +
                  " connections.");
                for(int ccnt=0; ccnt < conns.length; ccnt++){
                  DatagramHandler handler =
                    new DatagramHandler(conns [ccnt], this);
                  connectionHandlers.addElement(handler);
                handler.start();
                }
              }

           }
          從而得到所有注冊的連接,并轉發給線程處理。線程就可以根據所傳入的連接名稱,自行打開:
             public DatagramHandler(String c, PushSMSListner midlet){
               try {
                 dgc = (DatagramConnection)Connector.open(c);
               } catch (IOException x){
                   x.printStackTrace();
               }
            
            m_midlet = midlet;
             }


          評論

          # re: 同一個MIDlet是否允許多個MessageConnection?  回復  更多評論   

          2009-04-07 13:02 by byfk
          不錯
          主站蜘蛛池模板: 玛纳斯县| 静乐县| 丰县| 五莲县| 南召县| 南投市| 临高县| 平江县| 鲜城| 三门县| 长宁县| 满洲里市| 六盘水市| 康乐县| 错那县| 龙胜| 买车| 正定县| 辽阳县| 闽侯县| 虹口区| 辽宁省| 芦溪县| 兴和县| 台州市| 鹿泉市| 桂林市| 龙井市| 平谷区| 资兴市| 苏尼特右旗| 怀集县| 麻城市| 马公市| 平和县| 普安县| 襄汾县| 东阳市| 徐闻县| 慈利县| 大邑县|