【问题标题】:A server starting a client?服务器启动客户端?
【发布时间】:2012-10-25 03:01:43
【问题描述】:

我刚刚在计算机科学课上完成了一个项目。我们得到了使用老师提供的密码解密解决方案的任务,并将其调整为在我们的网络中以主/从关系的形式使用。

这意味着主机(服务器)必须联系“休眠”从机(客户端)。我们在这里有点困惑,因为我们想使用多个从服务器来解密我们得到的加密密码,但是我们不能设计一个系统,其中服务器是启动与客户端的连接而不是客户端启动连接的系统服务器。

我们必须向奴隶发送加密密码列表,并通过将其与字典的加密版本进行比较,让他们发回结果。

我们讨论了将主服务器视为客户端,将从服务器视为服务器,但这将是一个问题,因为您无法通过同一端口流式传输到不同的服务器。您将不得不更改端口。如果这是唯一的解决方案,那就这样吧。有什么帮助吗?

【问题讨论】:

  • 不清楚(至少对我而言)问题是什么。

标签: java sockets socketserver


【解决方案1】:

听起来有点像黑客所说的“僵尸网络”。

基本上,每个“从属”都安装了一个轻量级守护进程,等待来自主控的指令消息,主控向其整个从属列表发送命令。收到此消息后,slave 会根据收到的指令执行黑客安装的一些其他代码。

从这个意义上说,就好像从属服务器是“服务器”……主服务器是具有许多服务器的客户端。

为什么要直播?为什么不是数据报?

【讨论】:

  • 需要精确的数据。我们无法承受 UDP 无法保证的包丢失。不过,谢谢你的回答。它给了我该怎么做的提示:)
  • 你总是可以在命令上加上校验和,如果它好的话让从机确认它,否则让主机在超时后重新发送;)docs.oracle.com/javase/1.4.2/docs/api/java/util/zip/CRC32.html
【解决方案2】:

在 JMS(Java 消息传递服务)中,您将在此处拥有事物调用主题,您将拥有消息生产者和多个消费者。

我准备使用ActiveMq 作为消息代理

您也可以查看this

【讨论】:

  • 我想避免使用第三方库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 1970-01-01
  • 2020-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多