不知道大家使用Mina的时候有没有碰到过这样的问题。
客户端和服务器在不同的网段,中间有防火墙。当客户端通过长连接方式与服务器交互时,在连接没有断开的情况下,开始交互时正常的,但是一段时间不交互,客户端再次发送消息给服务端,服务端会收不到消息。这里很奇怪的是,连接并没有断开,而且客户端的消息确实是发出去了。
大家是不是有比较好的方法解决这个问题呢?
客户端发送程序方法如下:
    public void sendRequest(String request,HandlerResponse frame)throws Exception {
     if (session == null) {
              throw new Exception("没有连接,请重新登录连接服务器");
          } else {
             WriteFuture writeResult= session.write(request);
             writeResult.addListener(this);
          }    }