混合 Java NIO 与 IO 输入流读取操作
Mixing Java NIO with IO input streams read operation
我需要使用 NIO 让服务器端支持写入操作超时,但处理套接字通道上的读取操作会使我的程序复杂化。
我想知道是否可以使用 NIO 写入套接字但使用常规 IO 读取,例如
((SocketChannel) selectedKey.channel()).socket().getInputStream().read(buffer)
这行得通吗?
没有。如果通道处于阻塞模式,您只能在通道套接字上使用流,在这种情况下,您将没有 SelectionKey。
我需要使用 NIO 让服务器端支持写入操作超时,但处理套接字通道上的读取操作会使我的程序复杂化。
我想知道是否可以使用 NIO 写入套接字但使用常规 IO 读取,例如
((SocketChannel) selectedKey.channel()).socket().getInputStream().read(buffer)
这行得通吗?
没有。如果通道处于阻塞模式,您只能在通道套接字上使用流,在这种情况下,您将没有 SelectionKey。