讓變化成為計劃的一部分

          歡迎大家探討本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
          不錯
          主站蜘蛛池模板: 隆尧县| 图片| 黎川县| 乌海市| 黔江区| 怀安县| 台江县| 广河县| 许昌县| 九寨沟县| 旺苍县| 忻州市| 旌德县| 镇江市| 蒙山县| 虎林市| 神池县| 乌拉特后旗| 千阳县| 兴隆县| 鄯善县| 渝中区| 曲阳县| 巢湖市| 青浦区| 太谷县| 和平区| 工布江达县| 崇信县| 金川县| 万源市| 雅江县| 五原县| 旬邑县| 扶沟县| 莱州市| 石阡县| 镇坪县| 巴彦淖尔市| 沐川县| 彭水|