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

          JXTA 雙向通訊

          Posted on 2007-05-28 15:41 change 閱讀(133) 評論(0)  編輯  收藏

          JXTA 雙向通訊 可以通過 JxtaServerSocket /JxtaSocket和 JxtaServerPipe/JxtaBiDiPipe 來實(shí)現(xiàn) 其實(shí)現(xiàn)的過程非常的類是我們做FTP的時候所采用的ServerSocket/Socket機(jī)制,也就是服務(wù)斷監(jiān)聽客戶端連接的原理。以JxtaServerPipe為例,在服務(wù)端:

          serverPipe = new JxtaServerPipe(eg.netPeerGroup,eg.pipeAdv);

          serverPipe.setPipeTimeout(0);然后就是服務(wù)端的循環(huán)監(jiān)聽客戶端的連接

          while (true) {
             try {
              JxtaBiDiPipe bipipe = serverPipe.accept();
              if (bipipe != null ) {
               System.out.println("JxtaBidiPipe accepted,sending 100 messages to the other end");
               //Send a 100 messages
               sendTestMessages(bipipe);
              }
             } catch (Exception e) {
               }
            }

          在客戶端則是通過JxtaBiDiPipe 來進(jìn)行連接服務(wù)斷的操作:pipe = new JxtaBiDiPipe();

          pipe.connect(eg.netPeerGroup,null,eg.pipeAdv,
              180000,
              // register as a message listener
              eg);當(dāng)有消息來得時候就會觸發(fā) pipeMsgEvent(PipeMsgEvent event)事件

          主站蜘蛛池模板: 昌乐县| 嘉兴市| 邹城市| 康乐县| 渝中区| 奈曼旗| 牟定县| 博乐市| 邹城市| 政和县| 芜湖市| 依安县| 伊金霍洛旗| 资中县| 荥经县| 永兴县| 禹州市| 新化县| 伊春市| 泾源县| 安塞县| 滨州市| 扎鲁特旗| 岳普湖县| 红河县| 阿城市| 明星| 桐柏县| 安图县| 自治县| 长阳| 厦门市| 泸水县| 尉氏县| 定安县| 华亭县| 图木舒克市| 库伦旗| 察哈| 明星| 吴旗县|