如果 channel 未在超时毫秒内收到读取/响应,那么 SO_TIMEOUT 是否会过期非阻塞 channel ?
bootstrap.group(workerGroup).channel(NioSocketChannel.class).
.handler(channelInitializer).option(ChannelOption.SO_TIMEOUT, 100);
此外,该选项是否也适用于服务器 channel ?喜欢:
serverBootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).
localAddress(new InetSocketAddress(8800)).childHandler(serverChannelInitializer).
option(ChannelOption.SO_TIMEOUT, 100).bind().sync();
最佳答案
号SO_TIMEOUT
仅对 OIO 套接字传输有效。您应该使用 IdleStateHandler
并处理 IdleStateEvent
在您的 userEventTriggered()
执行。
关于netty - netty 中非阻塞 channel 中的 SO_TIMEOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892575/