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