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

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

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

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    xsocket socket學(xué)習(xí)

    Posted on 2009-11-17 14:53 瘋狂 閱讀(5946) 評(píng)論(3)  編輯  收藏 所屬分類: java
         最近項(xiàng)目中想通過java來調(diào)用c來啟動(dòng)驅(qū)動(dòng)程序 ,由于項(xiàng)目是部署在winCE上(內(nèi)存30多m),初步定下使用socket,所以就看了下輕量級(jí)的開源xSocket ,感覺用起來挺簡(jiǎn)單,而且性能和效率不錯(cuò)。apace mina 也很強(qiáng)大但是功好多功能用不上也就沒用。
          xSocket是一個(gè)輕量級(jí)的基于nio(since jdk1.5)的服務(wù)器框架用于開發(fā)高性能、可擴(kuò)展、多線程的服務(wù)器。該框架封裝了線程處理、異步讀/寫等方面。
        使用也很簡(jiǎn)單 :
    server端:new Server(8090,new ServerDataHander()).start();
    client端:new NonBlockingConnection("localhost", 8090,new ClientDataHander());
     其中ServerDataHander,ClientDataHander為自己定義類,都可以實(shí)現(xiàn)接口IConnectExceptionHandler, IConnectHandler, IDisconnectHandler等接口:通過重寫回調(diào)函數(shù)來處理數(shù)據(jù):操作相當(dāng)方便。例如:
     
    public boolean onData(INonBlockingConnection connection)
                    
    throws IOException, BufferUnderflowException,
                    ClosedChannelException, MaxReadSizeExceededException 
    {
                
    byte[] data = connection.readBytesByLength(connection.available());

                
    //hander.
                return true;
            }


            @Override
            
    public boolean onConnectException(INonBlockingConnection connection,
                    IOException ioe) 
    throws IOException {
                chatServer.area.append(
    "error connect please try again\r\n");
                
    return true;
            }


            @Override
            
    public boolean onConnect(INonBlockingConnection connection)
                    
    throws IOException, BufferUnderflowException,
                    MaxReadSizeExceededException 
    {
                chatServer.area.append(
    "client["+connection.getRemoteAddress()+"] is connected\r\n");
                
    return true;
            }


            @Override
            
    public boolean onDisconnect(INonBlockingConnection connection)
                    
    throws IOException {
                chatServer.area.append(
    "client["+connection.getRemotePort()+"] is disconnected\r\n");
                
    return true;
            }

      下面是自己做的一個(gè)例子:
    最終界面:
     server端:


    客戶端:


    可運(yùn)行代碼下載(解壓可用):
    /Files/freeman1984/xsockettest.rar

    評(píng)論

    # re: xsocket socket學(xué)習(xí)  回復(fù)  更多評(píng)論   

    2011-04-19 17:53 by limingxing
    您好,我拜讀了您的xsocket做的聊天客戶端與服務(wù)端。遇到一個(gè)疑惑:
    public class XSocketClient {
    public static void main(String[] args) throws IOException {
    NonBlockingConnection bc = new NonBlockingConnection(host, port,new ClientDataHander());
    }
    }
    我在main函數(shù)中實(shí)例化了bc,就是這樣一個(gè)小程序,可是運(yùn)行以后程序會(huì)馬上關(guān)閉,我不得其解。
    運(yùn)行了您的代碼,結(jié)果卻又是非常正確的。我努力尋找我的代碼與您的代碼之間的區(qū)別,在于:我的main函數(shù)中實(shí)例化 NonBlockingConnection,而您的代碼中 NonBlockingConnection的實(shí)例化不在main函數(shù)中。為什么這樣的差別會(huì)造成現(xiàn)在的結(jié)果呢?如果我想自己的代碼能順利進(jìn)行長(zhǎng)連接該怎么辦呢?
    企盼您的解答。祝好~

    # re: xsocket socket學(xué)習(xí)  回復(fù)  更多評(píng)論   

    2011-04-25 10:07 by @joe
    @limingxing
    public static void main(String[] args) throws IOException {
    NonBlockingConnection bc = new NonBlockingConnection(host, port,new ClientDataHander());
    }
    }
    這明顯不對(duì)啊,參數(shù)從哪來,姐姐。

    # re: xsocket socket學(xué)習(xí)  回復(fù)  更多評(píng)論   

    2012-02-10 09:44 by LSH744
    請(qǐng)問服務(wù)端怎么發(fā)送消息給客戶端啊
    主站蜘蛛池模板: 亚洲?v无码国产在丝袜线观看 | 亚洲色无码国产精品网站可下载| 亚洲一区二区三区在线视频| www.999精品视频观看免费| 亚洲精品视频免费| 亚洲av中文无码乱人伦在线观看| 亚洲男人的天堂在线| 久久精品国产69国产精品亚洲| 亚洲AV无码乱码精品国产| 国产青草视频在线观看免费影院| 91黑丝国产线观看免费| 一级毛片免费视频| 3344在线看片免费| 国产免费久久精品99久久| 人妖系列免费网站观看| 直接进入免费看黄的网站| 亚洲av成人一区二区三区观看在线| 成人妇女免费播放久久久| 风间由美在线亚洲一区| 亚洲精品午夜国产va久久| 亚洲乱码日产精品BD在线观看| 亚洲国产精品线观看不卡| 1区1区3区4区产品亚洲| 18gay台湾男同亚洲男同| 亚洲情a成黄在线观看动漫尤物| 亚洲AV无码不卡无码| 日本红怡院亚洲红怡院最新| 国产亚洲人成无码网在线观看| 亚洲精品无码专区在线在线播放 | sss日本免费完整版在线观看| 久久精品熟女亚洲av麻豆 | 国产日产成人免费视频在线观看| 性感美女视频免费网站午夜| 成人a视频片在线观看免费| 黄a大片av永久免费| 日韩激情淫片免费看| 免费国产a国产片高清网站| 久久综合亚洲色HEZYO国产| 国产亚洲AV夜间福利香蕉149| 亚洲精品成人网站在线观看| 国产成人亚洲综合色影视|