NIO SelectionKey中定義的4種事件

  • SelectionKey.OP_ACCEPT —— 接收鏈接繼續事件,表示服務器監聽到了客戶鏈接,服務器能夠接收這個鏈接了
  • SelectionKey.OP_CONNECT —— 鏈接就緒事件,表示客戶與服務器的鏈接已經創建成功
  • SelectionKey.OP_READ —— 讀就緒事件,表示通道中已經有了可讀的數據,能夠執行讀操做了(通道目前有數據,能夠進行讀操做了)
  • SelectionKey.OP_WRITE —— 寫就緒件,表示已經能夠向通道寫數據了(通道目前能夠用於寫操做)

 這裏 注意,下面兩種,SelectionKey.OP_READ ,SelectionKey.OP_WRITE ,緩存

1.當向通道中註冊SelectionKey.OP_READ事件後,若是客戶端有向緩存中write數據,下次輪詢時,則會 isReadable()=true;服務器

2.當向通道中註冊SelectionKey.OP_WRITE事件後,這時你會發現當前輪詢線程中isWritable()一直爲ture,若是不設置爲其餘事件spa

相關文章
相關標籤/搜索