2

我使用的是 MINA 2.0.0 M6,日志文件中有很多异常如下。

在我的应用程序中,不应从 MINA 向客户端发送任何内容,因为每个连接的客户端将每 x 分钟仅发送其 GPS 数据。一台设备被设置为继续将数据传输到我的服务器。但是,我发现 MINA 服务器随机无法从客户端获取数据。就像,服务器端为新连接创建一个会话,但是,由于某种原因,服务器无法获取数据,然后抛出 IOExeception 并在 MINA 超时设置的 10 分钟后关闭会话。

我确定设备运行正常并不断发送数据。MINA 似乎也可以,因为服务器大多数时候都可以获取数据。这让我觉得 Apache Mina 中可能有一些连接数的设置。谁能帮我解决这个问题。

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

****************************************************** ******************************
java.io.IOException:在 sun.nio.ch.IOUtil 的 sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21) 的 sun.nio.ch.FileDispatcher.read0(Native Method) 的对等方重置了连接。 readIntoNativeBuffer(IOUtil.java:202) 在 sun.nio.ch.IOUtil.read(IOUtil.java:175) 在 sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:243)

4

1 回答 1

1

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

于 2012-04-11T12:16:19.797 回答