我在linux中使用Netty服务器,在Android中使用一个netty客户端。 (Netty 4.0.23)。 它在大多数时候都很完美。但是,有时,我的客户端无法连接到服务器。
尝试连接时收到的ChannelFuture告诉我连接已完成但未成功(原因不为空)因此完成失败。 关于我收到它的失败是java.net.socketException - EHOSTUNREACH错误(没有到主机的路由)。
我很确定问题不在服务器中。
重要的:
我附上了从客户端进行连接的方式:
.............
final ChannelFuture futureConnection = bootstrap.connect(HOST, PORT);
futureConnection.awaitUninterruptibly();
if (futureConnection.isDone()){
if (futureConnection.isCancelled()) {
// log error
}
else if (futureConnection.isDone() && futureConnection.isSuccess()){
// do something
}
else if (futureConnection.isDone() && (futureConnection.cause() != null)) {
// log error THIS IS THE ERROR REPORTED
}
else {
// log error
}
}
............