1.对于 NIO 的 SocketChannel 每次触发 OP_READ 事件时,发送端不一定仅仅写入了一次,同理,发送端如果一次发送数据包过大,那么发送端的一次写入也可能会被拆分成两次 OP_READ 事件,所以 OP_READ 事件和发送端的 OP_WRITE 事件并不是一一对应的2.ServerSocketCSelector(选择器)用于监听多个通道的事件(比如:连接打开,数据到达)hannel
就像ServerSocketChannel绑定的是连接打开事件accept
- accept 产生连接时触发
- connect 客户端建立连接时出发
- read 收到客户端消息时产生可读事件
- 可写事件
这个时候一但又新的SocketChannel连接上了ServerSocketChannel才会触发这个事件,如果只是老的Tcp连接是不会触发的。