Netty
을 사용하여 서버에 연결된 Java TCP 클라이언트가 있습니다. 연결이 끊어진 채널을 작성하면 예외가 발생합니다. 어떤 문제가이 문제의 원인인지는 중요하지 않지만 어떤 메시지가 이 아니고으로 전송되지 않았고 예외가 발생한 것이 중요합니다.Netty가 writting에서 어떤 메시지로 인해 예외가 발생하는지 알아내는 방법은 무엇입니까?
[ChannelPromise 또는 ChannelFuture를 사용하여 어떻게 찾을 수 있습니까?]
여기에 'f.isSuccess()==true
'이 표시되지만 성공하지는 못했습니다. 메시지가 전송되지 않았습니다!
ChannelPromise promise = c.newPromise();
promise.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture f) {
System.err.println("<TCPIn: promise write operationComplete.");
if (!f.isSuccess()) {
System.err.println("<TCPIn[writting]: promise write ERROR:");
f.cause().printStackTrace();
f.channel().close();
}
}
});
channel.writeAndFlush(buf,promise);
리스너 자체에서 buf 객체에 액세스 할 수 없습니까? 이것은 대부분의 경우에 효과가 있지만 EJP가 그의 대답에서 말한 경우는 아닙니다 – Ferrybig