国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java NIO ServerSocketChannel

forsigner / 1661人閱讀

摘要:中的是一個(gè)可以監(jiān)聽(tīng)新進(jìn)來(lái)的連接的通道就像標(biāo)準(zhǔn)中的一樣。當(dāng)然也可以在循環(huán)中使用除了以外的其它退出準(zhǔn)則。非阻塞模式可以設(shè)置成非阻塞模式。在非阻塞模式下,方法會(huì)立刻返回,如果還沒(méi)有新進(jìn)來(lái)的連接返回的將是。因此,需要檢查返回的是否是如

Java NIO中的 ServerSocketChannel 是一個(gè)可以監(jiān)聽(tīng)新進(jìn)來(lái)的TCP連接的通道, 就像標(biāo)準(zhǔn)IO中的ServerSocket一樣。ServerSocketChannel類在 java.nio.channels包中。

這里有個(gè)例子:

ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();

serverSocketChannel.socket().bind(new InetSocketAddress(9999));

while(true){
    SocketChannel socketChannel =
            serverSocketChannel.accept();

    //do something with socketChannel...
}

打開(kāi) ServerSocketChannel
通過(guò)調(diào)用 ServerSocketChannel.open() 方法來(lái)打開(kāi)ServerSocketChannel.如:

ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();

關(guān)閉 ServerSocketChannel

通過(guò)調(diào)用ServerSocketChannel.close() 方法來(lái)關(guān)閉ServerSocketChannel. 如:

serverSocketChannel.close();

監(jiān)聽(tīng)新進(jìn)來(lái)的連接
通常不會(huì)僅僅只監(jiān)聽(tīng)一個(gè)連接,在while循環(huán)中調(diào)用 accept()方法. 如下面的例子:

while(true){
    SocketChannel socketChannel =
            serverSocketChannel.accept();

    //do something with socketChannel...
}

通過(guò) ServerSocketChannel.accept() 方法監(jiān)聽(tīng)新進(jìn)來(lái)的連接。
當(dāng) accept()方法返回的時(shí)候,它返回一個(gè)包含新進(jìn)來(lái)的連接的 SocketChannel。因此, accept()方法會(huì)一直阻塞到有新連接到達(dá)。
當(dāng)然,也可以在while循環(huán)中使用除了true以外的其它退出準(zhǔn)則。
非阻塞模式
ServerSocketChannel可以設(shè)置成非阻塞模式。在非阻塞模式下,accept() 方法會(huì)立刻返回,如果還沒(méi)有新進(jìn)來(lái)的連接,返回的將是null。 因此,需要檢查返回的SocketChannel是否是null.如:

ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.socket().bind(new InetSocketAddress(9999));
serverSocketChannel.configureBlocking(false);

while(true){
    SocketChannel socketChannel =serverSocketChannel.accept();

    if(socketChannel != null){
        //do something with socketChannel...
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/71728.html

相關(guān)文章

  • Java NIO 的前生今世 之二 NIO Channel 小結(jié)

    摘要:通常來(lái)說(shuō)所有的的操作都是從開(kāi)始的一個(gè)類似于一個(gè)和對(duì)比我們可以在同一個(gè)中執(zhí)行讀和寫操作然而同一個(gè)僅僅支持讀或?qū)懣梢援惒降刈x寫而是阻塞的同步讀寫總是從中讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入到中類型有文件操作操作操作操作使用在服務(wù)器端這些通道涵蓋了和網(wǎng)絡(luò)以及文件 Java NIO Channel 通常來(lái)說(shuō), 所有的 NIO 的 I/O 操作都是從 Channel 開(kāi)始的. 一個(gè) channel 類似于一個(gè) ...

    JasonZhang 評(píng)論0 收藏0
  • 基于零拷貝技術(shù)的的java NIO文件下載服務(wù)器

    摘要:什么是零拷貝我們首先來(lái)認(rèn)識(shí)一下傳統(tǒng)的操作。因?yàn)樵谶@套體系里,不僅僅提供了非阻塞的編程模型,而且提供了類似零拷貝,內(nèi)存映射這樣的新技術(shù)對(duì)于操作系統(tǒng)來(lái)說(shuō)早就有了。 什么是零拷貝?我們首先來(lái)認(rèn)識(shí)一下傳統(tǒng)的I/O操作。假如說(shuō)用戶進(jìn)程現(xiàn)在要把一個(gè)文件復(fù)制到另一個(gè)地方。那么用戶程序必須先把這個(gè)文件讀入內(nèi)存,然后再把內(nèi)存里的數(shù)據(jù)寫入另一個(gè)文件。不過(guò)文件讀入內(nèi)存也不是直接讀入用戶進(jìn)程的內(nèi)存,而是先讀入...

    Keven 評(píng)論0 收藏0
  • java NIO

    摘要:是什么就不在此文展開(kāi),這篇主要來(lái)介紹下我們要怎樣通過(guò)來(lái)構(gòu)建一個(gè)服務(wù)客戶端程序的。的通信完全依賴與,數(shù)據(jù)的寫入和讀取都是通過(guò)從中寫入讀取。和上的調(diào)用一樣的功能,監(jiān)聽(tīng)已經(jīng)注冊(cè)在上面的文件描述符,監(jiān)聽(tīng)上的事件。 NIO是什么就不在此文展開(kāi),這篇主要來(lái)介紹下我們要怎樣通過(guò)java NIO來(lái)構(gòu)建一個(gè)服務(wù)客戶端程序的。 0x01 涉及知識(shí)點(diǎn) NIO建立一個(gè)服務(wù)端和客戶端程序主要涉及的知識(shí)點(diǎn)有: ...

    AlphaWatch 評(píng)論0 收藏0
  • Java NIO深入理解ServerSocketChannel

    摘要:組件主要有三大核心部分通道,緩沖區(qū)選擇器。選擇區(qū)用于監(jiān)聽(tīng)多個(gè)通道的事件比如連接打開(kāi),數(shù)據(jù)到達(dá)。即用選擇器,借助單一線程,就可對(duì)數(shù)量龐大的活動(dòng)通道實(shí)施監(jiān)控和維護(hù)。 Java NIO 簡(jiǎn)介JAVA NIO有兩種解釋:一種叫非阻塞IO(Non-blocking I/O),另一種也叫新的IO(New I/O),其實(shí)是同一個(gè)概念。它是一種同步非阻塞的I/O模型,也是I/O多路復(fù)用的基礎(chǔ),已經(jīng)被越...

    masturbator 評(píng)論0 收藏0
  • Java NIO詳解

    摘要:前言本篇主要講解中的機(jī)制和網(wǎng)絡(luò)通訊中處理高并發(fā)的分為兩塊第一塊講解多線程下的機(jī)制第二塊講解如何在機(jī)制下優(yōu)化資源的浪費(fèi)服務(wù)器單線程下的機(jī)制就不用我介紹了,不懂得可以去查閱下資料那么多線程下,如果進(jìn)行套接字的使用呢我們使用最簡(jiǎn)單的服務(wù)器來(lái)幫助大 前言 本篇主要講解Java中的IO機(jī)制和網(wǎng)絡(luò)通訊中處理高并發(fā)的NIO 分為兩塊:第一塊講解多線程下的IO機(jī)制第二塊講解如何在IO機(jī)制下優(yōu)化CPU資...

    rickchen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<