【问题标题】:java nio socketchannel: client to multiple serversjava nio socketchannel:客户端到多个服务器
【发布时间】:2012-12-06 13:17:32
【问题描述】:

我的项目实际上非常基本,但我找不到合适的信息(即:我只能找到如何创建一个接受多个客户端的服务器)。

这个想法很简单:
我想创建一个客户端来连接到多个服务器,并从中查询内容 + 等待自主消息。
给出一个粗略的想法,我想创建一个简单的程序,通过创建与它们的 SSH 连接(使用 Jsch)来监控多个服务器,进行登录,每分钟发送 1 个命令以检索服务器上的所有警报。并且服务器也会在它们出现时立即发送警报。

我的问题是:有没有人有任何关于如何进行的例子?任何教程? (google 帮不上什么忙,可能是我不够努力)。

注意:我已经能够在线程中使用常规 Socket 来做同样的事情,但是由于我想轮询数千台服务器,我被告知打开相等数量的线程+套接字是个坏主意...

【问题讨论】:

  • 也许你会得到一些想法:stackoverflow.com/questions/130067/…
  • 感谢您的建议......虽然它没有完全解决我的问题,这是我的错误:我的示例(通过 SSH 监控服务器)实际上有点过于简化,因为“服务器”我指的是实际上是专有设备,我们已经尝试过 nagios 和 openNMS,但它们根本不适合。 => 我们需要一个自制的解决方案,而我的任务是与 NIO 一起完成

标签: java tcp client nio socketchannel


【解决方案1】:

我怀疑你会找到在 NIO 上运行的 SSH 实现。

我进一步怀疑这有什么意义。该协议足够重量级,以至于使用 NIO 来保存线程不会有任何区别,或者事实上,当您对 NIO 线程当前正在服务的任何通道进行加密和解密时,其他服务通道会饿死,从而使情况变得更糟。考虑到您实际上每隔 1 分钟进行一次轮询,所以从一开始就没有太多理由使用 NIO。

使用 JSch 或 Ganymed SSH 或其他 SSH 库、线程之一,继续您的生活。

【讨论】:

  • 感谢您的回答!我必须承认这不是我所期待的,但我喜欢“继续你的生活”部分!
猜你喜欢
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 2012-09-02
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-25
相关资源
最近更新 更多