Socket通道类可以运行非阻塞模式

全部Socket通道类:

DatagramChannel

SocketChannel

ServerSocketChannel

 Java NIO(3):Socket通道 

Java NIO(3):Socket通道

传统的Socket是阻塞的

要把一个Socket通道置于非阻塞模式 需要依靠Socket通道类的公有超级类SelectableChannel

Java NIO(3):Socket通道

configureBlocking():true 设置阻塞模式 false 非阻塞模式

isBlocking():判断当前socket通道处于什么模式

Java NIO(3):Socket通道

ServerSocketChannel:

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

SocketChannel:

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

DatagramChannel:

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

处于非阻塞模式 没有可接收的包时会返回null

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

Java NIO(3):Socket通道

相关文章: