Netty 如何阅读NioSocketChannel?

Netty 如何阅读NioSocketChannel?,netty,Netty,我正在使用NioSocketChannel。 我必须使用它,因为在这段代码中,它是唯一一个与netty的引导一起工作的: Bootstrap b = new Bootstrap(); b.group(group).channel(NioServerSocketChannel.class) 当我收到信息时,我无法从中阅读。 该类中没有对缓冲区的读取,只有返回通道的simple read(),当我尝试使用它时,它抛出异常:“通道未注册到事件循环” 有人熟悉这门课吗? 谢谢, Osn

我正在使用NioSocketChannel。 我必须使用它,因为在这段代码中,它是唯一一个与netty的引导一起工作的:

    Bootstrap b = new Bootstrap();
    b.group(group).channel(NioServerSocketChannel.class)
当我收到信息时,我无法从中阅读。 该类中没有对缓冲区的读取,只有返回通道的simple read(),当我尝试使用它时,它抛出异常:“通道未注册到事件循环”

有人熟悉这门课吗? 谢谢,
Osnat。

您需要注册一个管理事件循环的处理程序。然后不直接从通道读取,而是连接到通道并向其注册观察者。详细信息取决于您的实际环境,但大致如下所示:

Bootstrap b = new Bootstrap();
b.group(group).channel(NioServerSocketChannel.class).handler(/*  your handler */)

ChannelFuture channelFuture = b.connect(socketAddress, new InetSocketAddress(address, port));
responseFuture.addListener(new ChannelFutureListener() { 
   // ... listen to changes                         
}
上面有很多很好的代码片段,这些应该会让你开始学习