我正在使用 Netty 3.6.x 开发基于套接字的应用程序。但是我遇到了 channel.write 的问题。这就是我所做的:首先,每当通道进入 CONNECTED 状态时,我都会写入通道并且它是成功的。现在,当服务器完成时,我尝试重新连接它,当通道连接时,我尝试写入它,但这次似乎服务器没有收到数据。
此外,当我检查写入状态时,它说完成。
可能是什么问题?
您应该检查 ChannelFuture 是否失败,如果失败,请通过以下方式检查错误:
ChannelFuture future = ...
if (!future.isSuccess()) {
future.getCause().printStacktrace();
}
这应该会告诉你失败的原因。
谢谢诺曼。我已经解决了这个问题。问题是我正在使用 ChannelFuture 侦听器,我意识到我正在该回调中设置管道和转码器。因此,当我通过网络发送数据时,它没有正确编码。为了解决这个问题,我必须处理 channelConnected 和 channelCLosed 方法中的每一个。