個人Nio

nio新的技術 Channel和Select(unix裏面有API,具體的忘記了,通道選擇器)。
緩存能夠當作一個數組,裏面有個指向位置的數值,跟數組的下標似的,符合通常的邏輯思惟。
通道Channel 能夠當作是兩個物體之間創建起來的一個通路。在nio裏面使用的是SocketChannel,估計是一個通道在底層實現了一些Socket通訊,而後進行了封裝。
最重要的是選擇器(Selector)
通道註冊到選擇器上
輪詢多是用一個while死循環實現的。對每一個註冊到服務器上的通道進行輪詢,服務器進行向準備就緒的通道進行傳送數據。
io多路複用技術epool數組

Socket套接字在鏈接服務器後若是不釋放則套接字能夠使用
傳統的io通訊是由於,要一直循環接受客戶端傳來的數據。緩存

推薦網站https://www.iteye.com/magazines/132-Java-NIO nio系列教程服務器

定義服務端Server類
裏面有多路複用器Selector 和 讀緩存以及寫緩存三個私有變量
並使用一個int 類型的 port記錄端口號
首先打開多路複用器Selector.open();打開服務器通道 ServerSocketChannel.open();必須手動設置服務器通道爲分非阻塞模式configureBlocking(false);綁定地址bind(new InetSocketAddress(port));把服務器通道註冊到多路複用器上,並監聽事件register(this.seletor,SelectionKey.OP_ACCEPT);ide

相關文章
相關標籤/搜索