我正在嘗試用於非阻塞通信的Java.nio包。所以我在Selector中獲得了我的ServerSocketChannel和所有連接的客戶端(SocketChannel),並使用Selector.select()等待數據(OP_ACCEPT/OP_READ)。在SocketChannel/ServerSocketChannel中使用底層的Socket/ServerSocket?
我的問題是:我可以 - 而不是使用ByteBuffer並直接讀取SocketChannel.read() - 使用底層套接字,獲取InputStream並使用該流讀取?或者這會搞砸選擇的東西?
read()是一個阻塞操作。只有NIO可以用於阻塞或非阻塞模式。 IO只是阻塞。 –