我正在使用Netty 4.0构建客户端/服务器。 服务器正在localhost:8083上正确侦听,我可以telnet,它可以正确触发服务器断点。 但是,当我尝试连接这段代码时:
_bootstrap = new Bootstrap();
_bootstrap.group(locGroup)
.channel(NioServerSocketChannel.class)
.handler(new ClientInit(this, _sslContext, _logger));
_bootstrap.remoteAddress("127.0.0.1", 8083);
ChannelFuture locChannelFuture = _bootstrap.connect();
_channel = locChannelFuture.sync().channel();
它在sync()处抛出异常:java.nio.channels.ClosedChannelException。 如前所述,当我telnet 127.0.0.1 8083(或使用Socket连接代码)时,它确实有效。 任何的想法 ?谢谢。
答案 0 :(得分:4)
我修好了。 问题很简单,我将NioServerSocketChannel作为默认通道类提供给bootstrap构造函数。建立一个客户端,我改为使用NioSocketChannel,它工作正常。
所以,这是正确的:
_bootstrap.group(locGroup)
.channel(NioSocketChannel.class)
.handler(new ClientInit(this, _sslContext, _logger));