讓變化成為計劃的一部分

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

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

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

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

          第二,(MessageConnection)Connector.open監(jiān)聽不同端口是沒有問題的。比如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();
                }
              }

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


          評論

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

          2009-04-07 13:02 by byfk
          不錯
          主站蜘蛛池模板: 漳州市| 葫芦岛市| 岑溪市| 孟连| 廊坊市| 阿坝县| 勐海县| 忻城县| 和顺县| 彰化市| 平顶山市| 郧西县| 镇原县| 蒙阴县| 泾源县| 伊通| 黔东| 桂平市| 凤冈县| 舞阳县| 云龙县| 伊通| 油尖旺区| 昌图县| 福州市| 涿州市| 万源市| 西吉县| 齐河县| 霍州市| 改则县| 怀宁县| 景谷| 长汀县| 永靖县| 海阳市| 织金县| 江城| 乌拉特后旗| SHOW| 苏尼特右旗|