问题标签 [apache-mina]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3717 浏览

connection - Apache Mina java.io.IOException:对等方重置连接

我使用的是 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)

0 投票
1 回答
860 浏览

apache-camel - Fuse ESB:无法在 ServiceMix 中部署带有 mina 的捆绑包

我正在尝试在 fuse esb 上使用 apache mina 和骆驼。我正面临部署问题。

这是我的路线:

Bellow 是从 servicemix 控制台获得的堆栈跟踪:

这是我的编解码器工厂:

知道我在这里做错了什么吗?谢谢你的帮助

0 投票
2 回答
6696 浏览

swing - java网络编程的最佳框架?

我是 java 网络的新手,我有一个小项目,我想在 LAN 网络上下载它,只供五个用户使用。

我想使用 Java swing、MySQL 作为数据库和 Eclipse 作为 IDE。那么什么是使网络编程更容易的最佳框架,因为我不想从头开始。

我读过关于 Netty 和 Apache Mina 的文章,但我不知道这对我来说是否有好处。

0 投票
1 回答
1111 浏览

apache-camel - servicemix 上的 Mina 路由 - 执行命令时出错:java.lang.NullPointerException

我使用 mina 组件创建了一个非常简单的骆驼路线。这个路由实际上使用了一个自定义的 Codec 并且被打包为 osgi bundle。每当我将它部署到 servicemix (apache-servicemix-4.4.1-fuse-03-06) 时,捆绑包都没有处于活动状态,而是已安装。当然,当我尝试启动它时,我从控制台收到“执行命令时出错:java.lang.NullPointerException”,但日志中没有任何内容......

有人可以帮我完成这项工作吗?我不知道发生了什么……这是包装问题吗?我想这与我的编解码器加载有关,但我现在被困在这里。

这是我的 XML 路线

这是我的编解码器工厂

我的编解码器实现:

还有我的 pom.xml

谢谢你的帮助。弗朗索瓦

0 投票
1 回答
2949 浏览

java - Apache Mina - 多次写入客户端

我基于 apache mina 2.0.4 构建了一个 tcp 服务器,并且在写回客户端时遇到了一些问题。

我们有一些 tcp 客户端一次只能处理一条消息,并且缓冲区大小最大为 256 字节。当我向客户端发送 2+ 条消息(< 256 字节)时,它们以客户端无法处理的一两个大块的形式到达,而不是 2+ 条分隔的消息。我尝试设置sessionConfig.setTcpNoDelay(true/false);没有成功,以及sessionConfig.setSendBufferSize( 256 );.

在消息响应编码器中,我还尝试刷新输出:

在负责发送消息的线程中,我试图等待消息被写入

所有这一切都惨遭失败,唯一可行的解​​决方案是会话写入之间荒谬的 500 毫秒睡眠,这是难以接受的。有人看到我做错了吗?

0 投票
1 回答
4166 浏览

java - 如何使用 Apache MINA 从套接字读取二进制数据?

我知道服务器在连接到它并发送几个字节后会发送 MP3 流。如何使用 Apache MINA 读取它的传输?你能提供任何例子吗?

0 投票
3 回答
5998 浏览

java - Apache Mina 空闲监视器

我一直在用 Apache Mina 开发我的第一个基于 TCP/Socket 的应用程序,它看起来很棒而且做起来很容易。我只想在这里问一个关于米娜的问题。

服务器施加 5 秒的空闲时间将终止套接字连接,因此我们必须发送周期性的心跳(回显消息/keepalive)以确保连接处于活动状态。某种保活机制。

我们有一种方法可以在每 5 秒之前盲目地发送回显/心跳消息。我在想,如果我正在发送我的业务消息并且没有达到空闲时间(即 5 秒),应该有智能/智能方式“空闲监视器”,我不应该发出心跳消息。如果整个连接空闲,将发送心跳消息,这样我们就可以节省带宽并在套接字上快速读写。

0 投票
0 回答
746 浏览

android - 在Android上运行(同步)mina客户端,如何解决ClassNotFoundException

我已经在 PC 上设置了一个 mina(2.0.4) 服务器,它工作正常,因为我在 PC 上编写了一个 mina 客户端来与它通信。然后我在android上实现了一个同步的Mina Client,但是客户端无法解码收到的响应消息。

我是 Java 和 android 的新手,我已经为此付出了 3 天的努力。任何人请帮忙。提前谢谢大家。

我在这里总结了我的部分代码:

首先设置mina客户端。

然后发送消息功能。

和我的解码器课程。

响应消息解码器。

我可以将 TransRequest(RegisterRequest) 从 android 客户端发送到 mina 服务器,并且可以接收 TransResponse(RegisterResponse)。但是客户端总是无法解码,错误是:

消息头 12 00 00 2A 00 00 00 D4 12 04 00 02 00 00 00 CC 是正确的。(2 个消息代码/长度对)。

我的消息类。

我调试到mina源代码。异常代码行在 IoBuffer:getObject() 方法中:

异常代码行:readClassDescriptor() 函数。

并且我已经将所有请求/响应类放在与服务器端代码中相同的包名称下。发送/接收在 AsyncTask 中运行。我也尝试在我的包中包含 mina 源代码,但没有解决。

我怀疑以下几点。

  1. 我可以发送 Request 出来,它在编码时调用 IoBuffer.putObject ,它可以加载 Request 类。为什么不能加载响应类。
  2. 我发现 Thread.currentThread().getContextClassLoader() 似乎很奇怪。它是一个 PathClassLoader,其中 libPath 为空,mLibPaths 只包含“/system/lib/”,路径为“.”,不像其他类加载器,它可以从 .apk 文件加载类。使用此 ClassLoader,我认为它无法加载 RegisterResponse 类。这是线程问题吗?-- 在 nio 处理器中运行的解码过程。
0 投票
1 回答
803 浏览

java - Android 2.2 上 Apache MINA 中的 NullPointerException

我正在使用 Apache MINA 2.0.4 为 android 开发应用程序。它在我测试过的所有版本上都运行良好,但在 HTC Desire 上是 2.2.2。

客户端设法连接到服务器,但是一旦服务器发送消息,我就会收到 NullPointerException:

我正在使用 ObjectSerializationCodecFactory 并且无法弄清楚出了什么问题。我曾尝试在 Android 2.2 上使用“常规”Java 序列化并且效果很好。

这是连接的代码:

在调用 messageReceived 之前,异常在处理程序中被捕获。

感谢您提供有关此异常的任何信息!

谢谢

0 投票
1 回答
500 浏览

java - 如何使用 mina 从客户端向服务器发送 POJO

我对 apache mina 很陌生,我在将 POJO 从客户端发送到服务器时遇到问题。如果可能,请提供任何示例代码。