Apache Mina java.io.IOException: Connection reset by peer Apache Mina 的 java.io.IOException 错误:连接被对等方重置

3
我正在使用MINA 2.0.0 M6,日志文件中出现了很多异常。在我的应用程序中,MINA不应该向客户端发送任何内容,因为每个连接的客户端仅会每隔x分钟发送其GPS数据。有一个设备被设置为不断向我的服务器传输数据。然而,我发现MINA服务器无法从客户端随机获取数据。例如,服务器端为新连接创建一个会话,但由于某种原因,服务器无法获取数据,然后在10分钟后抛出IOExeception并关闭会话,这是由MINA超时设置的。我确信设备正常运行并且一直在发送数据。MINA似乎也没问题,因为服务器大多数时间可以获取数据。这让我想到Apache Mina的连接数可能有些设置问题。有谁能帮我解决这个问题吗?顺便说一下,我还检查了Linux服务器TCP连接数的最大值。
*****************************************************************************
java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202) at sun.nio.ch.IOUtil.read(IOUtil.java:175) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:243)
1个回答

2
首先,MINA没有对连接数量施加限制。这不是MINA特有的问题。当在对话中途重置连接时就会发生此问题。这只是客户端已经突然退出的信息。使用GPRS发送数据的设备很容易出现这种情况。因此,在服务器端并没有真正的问题,最好清理与客户端相关的资源(如果您保留了任何相关内容)。这里没有什么需要修复的,除了减少日志记录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接