2017-10-13 100 views
0

有沒有辦法讓NIO服務器接受連接,然後開始寫入?SelectionKey.OP_ACCEPT | SelectionKey.OP_WRITE導致IllegalArgumentException

如果我使用組合鍵

SelectionKey.OP_ACCEPT | SelectionKey.OP_READ 

我得到一個IllegalArgumentException。我有一個接受傳入連接的服務器,然後立即需要寫入該通道。我似乎無法做到這一點。

+0

@ close-voter關於這個問題沒有什麼「太寬泛」,除非你對此一無所知。它有一個簡短而甜蜜的答案。 – EJP

+0

你的意思是上面的'SelectionKey.OP_WRITE'? – EJP

回答

0

這是因爲指定的值沒有意義。您無法讀取或寫入偵聽套接字,也無法從非偵聽套接字接受。

在任何情況下,您都可以立即開始寫入接受的通道,而無需OP_WRITE。這隻在您填充套接字發送緩衝區時才使用。

相關問題