来自Android中的netty客户端的连接问题

时间:2014-10-16 11:48:35

标签: connection netty

我在linux中使用Netty服务器,在Android中使用一个netty客户端。 (Netty 4.0.23)。 它在大多数时候都很完美。但是,有时,我的客户端无法连接到服务器。

尝试连接时收到的ChannelFuture告诉我连接已完成但未成功(原因不为空)因此完成失败。 关于我收到它的失败是java.net.socketException - EHOSTUNREACH错误(没有到主机的路由)。

我很确定问题不在服务器中。

重要的:

  • 我总是在同一个局域网wifi网络中运行服务器和客户端 使用本地IP地址。
  • 我在两个不同的wifi上测试过它 网络。在其中一个中,报告的错误很少发生在 其他经常发生。
  • CONNECT_TIMEOUT_MILLIS在两个上下文中都配置了足够的时间

我附上了从客户端进行连接的方式:

.............

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
    }
}

............

0 个答案:

没有答案