问题标签 [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 回答
1083 浏览

java - 服务器客户端套接字中的空闲超时异常

我正在开发一个服务器客户端项目,其中服务器是驻留在现场的网关,我们正在开发客户端。客户端计划连接服务器并获取数据。现在我的问题是服务器有 10 秒的空闲超时。如果服务器和客户端空闲 10 秒,服务器会自动断开客户端的连接。如何在客户端中捕获超时异常,因为发生超时,服务器没有机会向客户端发送任何消息,因此它正在关闭连接。

如果服务器由于某些网络故障而关闭客户端连接,则客户端会收到拒绝连接异常。同样,我想要空闲超时连接。请帮我解决这个问题。提前致谢。

0 投票
2 回答
169 浏览

java - 如果当前正在使用端口,如何跳过它?

我目前在 8090 端口上运行 jboss,我的客户端套接字在 jboss 中运行。我按预定的时间间隔向服务器套接字发送请求以获取数据。现在我的问题是

  1. 由于 8090 端口已在使用中,客户端套接字是否可以在该端口上打开并连接服务器?

  2. 是否可以在一个端口上运行两个应用程序?

  3. 如果端口已在使用中,如何跳过它。我的客户端套接字一次打开 5,000 个请求,因此它同时打开了那么多本地端口。所以如果有任何端口已经在使用,我需要跳过它。

0 投票
0 回答
150 浏览

java - 使用 apache mina 库执行服务器和绑定服务器

我在使用 Java 时遇到了一点问题。我只是在端口1883中运行一个用 Java 编码的服务器;服务器在 Windows 上运行良好,但是在我的 Ubuntu 12.04 机器中,java 发送错误:"java.net.BindException: address already in use". 这个错误让我发疯,因为我很确定我没有在同一个端口上运行任何进程。我正在使用 apache mina 库,所以我不知道它是否会影响 JVM。我也没有成功尝试使用具有 root 权限的 eclipse 执行服务器是否有相同的经历?想法?

0 投票
1 回答
737 浏览

java - 如何使用 apache mina 获取套接字的输入或输出流?

我将 apache mina 用于客户端套接字应用程序,我想使用输入流和输出流来发送或读取数据,而不是使用 IO 会话。如何使用流将数据写入服务器?如果可能,请提供一个小例子。

请帮我解答。提前致谢

0 投票
1 回答
1237 浏览

android - 在 Android 上使用 Apache Mina 和 SslFilter

我正在使用 apache mina 在我的服务器和 android 客户端之间进行通信。当我通过不安全的连接连接时一切都很好,但几天前我决定使用 ssl 保护连接。Apache mina 有一个名为 SslFilter 的过滤器来完成任务 - 它使用我们提供密钥库和信任库的 ssl 上下文来建立安全连接。如果我在为 pc 编写的客户端上使用带有 mina 的 sslfilter,那么一切都像一个魅力,但是当我试图在 android 上使用它时 - 这并不是那么简单。首先,我们必须导入从服务器 SUN 格式的密钥库中提取的证书,并将其转换为匹配充气城堡提供程序 - 因为这似乎是 android 上唯一的安全提供程序。好的,我可以使用 keytool 和正确的命令轻松实现这一点。然后我'

86992 [NioProcessor-3] DEBUG AuthenticationManager - 会话已关闭:2 260628 [NioProcessor-1] DEBUG SslFilter - 将 SSL 过滤器 sslFilter 添加到链中 260629 [NioProcessor-1] DEBUG SslHandler - 会话服务器 [3](无 sslEngine)正在初始化SSL 处理程序 260642 [NioProcessor-1] 调试 SslHandler - 会话服务器 [3](无 sslEngine)SSL 处理程序初始化完成。260644 [NioProcessor-1] DEBUG SslFilter - Session Server3:开始第一次握手 260646 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 NEED_UNWRAP 状态 260703 [NioProcessor-1] DEBUG SslFilter - Session Server3:收到消息:HeapBuffer [ pos =0 lim=78 上限=2048:16 03 01 00 49 01 00 00 45 03 01 C4 C4 C4 C4 80...

260710 [NioProcessor-1] 调试 SslHandler - 会话 Server3 处理 NEED_WRAP 状态

260711 [NioProcessor-1] 调试 SslFilter - 会话 Server3:写入消息:WriteRequest:HeapBuffer[pos=0 lim=678 cap=1057:16 03 01 02 A1 02 00 00 46 03 01 50 5C 17 25 F6...] 260711 [NioProcessor-1] 调试 SslHandler - 会话 Server3 处理 NEED_UNWRAP 状态 260712 [NioProcessor-1] 调试 SslFilter - 会话 Server3:处理 SSL 数据 260867 [NioProcessor-1] 调试 SslFilter - 会话 Server3:收到消息:HeapBuffer [ pos= 0 lim=139 cap=2048: 16 03 01 00 86 10 00 00 82 00 80 10 B7 5D AC B3...] 260868 [NioProcessor-1] 调试 SslHandler - 会话 Server3 处理收到的消息 260868 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 NEED_UNWRAP 状态 260869 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 NEED_TASK 状态

260876 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 NEED_UNWRAP 状态 260877 [NioProcessor-1] DEBUG SslFilter - Session Server3:处理 SSL 数据 261133 [NioProcessor-1] DEBUG SslFilter - Session Server3:收到消息:HeapBuffer[ pos =0 lim=43 cap=1024: 14 03 01 00 01 01 16 03 01 00 20 65 07 FB 0F 1B...] 261134 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理收到的消息 261135 [NioProcessor-1 ] DEBUG SslHandler - Session Server3 处理 NEED_UNWRAP 状态 261154 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 NEED_WRAP 状态

261157 [NioProcessor-1] DEBUG SslFilter - Session Server3:写入消息:WriteRequest:HeapBuffer[pos=0 lim=6 cap=8: 14 03 01 00 01 01] 261158 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 NEED_WRAP状态

261159 [NioProcessor-1] 调试 SslFilter - 会话 Server3:写入消息:WriteRequest:HeapBuffer[pos=0 lim=37 cap=66:16 03 01 00 20 83 D9 81 59 21 9E 03 32 A3 49 17...] 261159 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 FINISHED 状态 261160 [NioProcessor-1] DEBUG SslHandler - Session Server3 现在是安全的 261160 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 FINISHED 状态 261161 [NioProcessor-1] DEBUG SslHandler - Session Server3 现在受到保护 261161 [NioProcessor-1] 调试 SslFilter - Session Server3:处理 SSL 数据

如您所见 - 一切都很好。

261160 [NioProcessor-1] DEBUG SslHandler - Session Server3 现在是安全的 261160 [NioProcessor-1] DEBUG SslHandler - Session Server3 处理 FINISHED 状态 261161 [NioProcessor-1] DEBUG SslHandler - Session Server3 现在是安全的

上面的清单显示连接现在是安全的。成功 !!万岁!!但一点也不,因为在成功 SSL 'dance' android 客户端尝试以与 pc 客户端相同的方式发送消息......然后什么也没有发生。什么都没有.. 应用程序在调用 SslFiter 编码方法时挂在某个地方.. 服务器没有收到任何消息。我听说 android 上的 ssl 存在一些问题 - 你认为可能是这种情况吗?

一个重要的注意事项。我也尝试更改服务器上的提供程序,我已将 BouncyCastle 安全提供程序导入 java 扩展提供程序以匹配 android 上使用的提供程序,然后我已将其注册到 java.security,结果是相同的,甚至 pc 客户端它仍然使用 SUN 提供程序可以成功地与带有 BouncyCastle 提供程序的服务器通信 - 所以我确保自己不是这种情况。

以上,注无效。我确定我在服务器上将提供程序更改为 BC,但我发现这不是事实。实际上,apache mina 隐藏了有关 SSLContext 创建的一些细节,并且上下文是使用默认提供程序创建的,即 sun 提供程序(我现在有点困惑,当时 SUN 提供程序如何正确加载 BKS 格式的存储)。**事实上,我无法在我的电脑上创建使用 TSL 和 BouncyCastle 提供程序的 SSLContext

或者

我收到以下异常“ java.security.NoSuchAlgorithmException: no such algorithm: TLS for provider BC ” - 似乎是因为 BC 是 JCE 提供者,而 SSLContext 属于 JSSE。所以我没有证明我自己的假设,即我在 android “bc provider” - 服务器“sun provider” 通信中存在问题,因为在交换数据时加密期间存在一些特定于提供商的算法差异。**

如果有人在 mina、android 和 ssl 方面遇到过类似问题,我将不胜感激任何建议......

0 投票
3 回答
2873 浏览

java - 缺少工件 org.apache.mina:mina-integration-ognl:bundle:2.0.2

我在本地 Maven 存储库中配置了自己的 JAR,它通过以下方式依赖于 MINA:

我写这篇文章是希望 Maven 会根据我的库的需要下载 2.0.2 版的 JAR。

但是 Eclipse 将 2.0.2 工件识别为“捆绑包”。

mina-integration-jmx神器依赖于以下mina-integration-ognl方式

即它希望mina-integration-ognl成为一个捆绑包。

我在存储库中看到了这个工件,并且没有看到为什么不能下载它的问题。

我的整个 POM

此 POM 用于创建org.red5:red5工件:

使用 JarAnalyzer 从 red5.jar 派生依赖关系,然后将 red5.jar 安装到本地存储库中。

后来在我的 Eclipse 项目中,这个工件被引用了以下 POM:

0 投票
2 回答
1823 浏览

java - 使用 SSH 连接进行应用程序间通信

我想编写一个应用程序,它是一个具有两种连接类型的自定义 SSH 服务器:

  • 同步通道,客户端键入命令,服务器将返回输出
  • 用户连接并开始读取IO的流通道,服务器连续发布数据。

我在 Java 中这样做,我认为 Apache Mina SSHD 是正确的工具。我设法编写了一些用于身份验证的代码(感谢在网上找到的资源),并且可以在我的连接上运行 /bin/sh,所以我猜我已经完成了所有设置。问题是从现在开始我就被困住了,因为我对这些东西是如何工作的以及 Mina 的具体工作方式缺乏了解。

基本上我需要访问每个 SSH 连接的输入和输出流,之后我可以自己整理东西,买什么是正确的方法来获得它?

我应该制作自定义频道吗?自定义外壳?一组自定义命令?

有人可以指出我有关该主题的资源吗?

0 投票
1 回答
2854 浏览

java - 如何从服务器获取客户端套接字的确认?

我有一个向服务器发送消息的客户端套接字。每当服务器收到消息时,我都希望在客户端得到确认。是否有可能获得这种认可。我使用 apache mina 开发了客户端。提前致谢。

0 投票
2 回答
1855 浏览

java - java.net.Socket 中的 Apache Mina 服务器和客户端

我的应用程序将数据发送到 Apache Mina 服务器,该服务器使用以下配置进行侦听..

这是我用 net.Socket 编写的客户端代码

尽管收到了记录器显示消息,但messageRecieved()从未调用过服务器处理程序。请帮助。

0 投票
3 回答
164 浏览

java - 访问大量 Apache MINA 链接时显示 404 Not Found 页面

我必须在我的 Java 应用程序中嵌入一个网络层,以便启用从服务器到多个客户端连接的文件传输。

在得出 Java NIO 将是最佳选择的结论后,我开始寻找一些现有的 NIO 网络框架。

我遇到了 Apache MINA 并开始学习它。问题是它的许多链接似乎不再起作用了。例如,这个指向 Apache MINA 2.0.7 API 的链接会显示一个 404 Not Found 页面。阿帕奇米娜 2.0.7 API

您能否让我知道他们发生了什么事以及他们是否有其他链接?

提前谢谢了。