看了《開發指南》第一章,有個問題一直想不通。

kofboy發表於2004-05-11
NIO中,SelectionKey.OP_WRITE是什麼事件?
READ事件很好理解,就是socket有資料才會觸發,WRITE事件怎麼理解呢?可以發?什麼條件下觸發?會連續觸發嗎?

對socket是不是一定要讀一次寫一次這樣交替進行?如果不是,第一章的TCPClient類可能有問題(25頁),run()方法同時負責讀寫socket,如果messageList.removeReqFirst()方法讀不到資料就會使執行緒停在這裡,如果使用者不再發資料了,執行緒就一直wait了,難道這樣客戶端也收不到任何資料了嗎?

相關文章