0

今天是个好日子,

我有一个(或多个)程序设计问题,我很想得到一些反馈。

这是我的情况:我有

  • 电脑A运行软件A
    • 软件 A 有不同的状态(空闲、处理、打印……)
  • 电脑B运行管理软件B
  • 这些软件位于两台不同的机器上。

我真正需要的是一种让运行软件 B 的计算机能够判断软件 A 处于什么状态的方法。

我希望软件 A 在状态发生变化时向软件 B 发送某种信号(消息)。我还希望软件 A 在软件 B 请求时发送它的状态。

我一直在考虑在两者之间使用 NService Bus 或 MSMQ,但软件 B 可能位于不在当前网络上的计算机上(它可能位于其网络上的“公司办公室”中)。除了列出的两种方法之外,还有其他方法可以实现我想要的吗?

任何帮助将不胜感激。

谢谢,

蒂姆

4

2 回答 2

1

看看 NSB 中的网关功能。这将允许站点之间的 HTTP 通信,并将支持您的所有方案。

于 2013-04-09T15:46:49.810 回答
0

这就是我的看法:

  • 软件 A 是服务器
  • 软件B(管理软件是客户端)

好的设计应始终确保服务器永远不会自行发送任何内容。我会开发一个简单的基于 HTTP 的协议(REST API 或Web 服务,如果你想在 W3C 标准中完美地做到这一点)来远程查询软件 A。这样,您甚至可以开发在浏览器中运行的客户端软件。客户端可以通过防火墙和代理进行连接,因此您只需确保对软件 A 的请求在您的公司内部得到适当的中继。

我无法阅读太多关于其他约束的信息,但如果您只需要监控一个状态,那么这就足够了。为避免轮询,您可以使用WS-Eventing

于 2013-04-08T13:47:45.847 回答