Apache Mina java.io.IOException:由peer重置连接

时间:2012-03-02 01:15:46

标签: connection reset ioexception apache-mina

    我使用的是MINA 2.0.0 M6,日志文件中有很多例外情况。

    在我的应用程序中,没有任何东西应该从MINA发送到客户端,因为每个连接的客户端每x分钟只发送一次GPS数据。设置了一台设备以继续将数据传输到我的服务器。但是,我发现MINA服务器随机无法从客户端获取数据。比如,服务器端为新连接创建会话,但是,由于某种原因,服务器无法获取数据,然后抛出IOExeception并在MINA超时设置的10分钟后关闭会话。

    我确信设备正常运行并继续发送数据。 MINA也似乎没问题,因为服务器可以获取大部分数据。它让我想到Apache Mina中可能存在连接号的一些设置。任何人都可以帮我解决这个问题。

    顺便说一句,我还检查了Linux服务器TCP连接数的最大数量。

    ************************************************** ***************************
    java.io.IOException:由peer重置连接         at sun.nio.ch.FileDispatcher.read0(Native Method)         at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)         在sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)         at sun.nio.ch.IOUtil.read(IOUtil.java:175)         在sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:243)

1 个答案:

答案 0 :(得分:1)

首先,MINA对连接数没有限制。这不是MINA特定的问题。当对等客户端在对话中间重置连接时会发生这种情况。这只是客户已经残酷地退出的信息。设备使用GPRS发送数据是很常见的情况。因此,如果您保留了与客户端相关的任何内容,那么在这种情况下,服务器端并不是真正的问题,最好是清理资源。除了少记录外,没有什么可以解决的。