1

循环中不会有人参与,两个端点都是自治的 Node.js 应用程序,作为独立的服务运行。

端点 A 负责通过安全 Web 套接字联系端点 B,并 24/7/365 保持该连接。

两个端点都将独立发起消息(无需人工干预),并且两个端点都有一个 API(RESTful 或其他方式)来接收和处理消息。您可能会说每个端点既是另一个端点的客户端,又是另一个端点的服务器。

我正在考虑像 Sails.js 和 LoopBack 这样的框架(在两个端点上实现),以及简单地通过 ws 传递 JSON 消息,但仍不清楚最惯用的方法是什么。

4

1 回答 1

0

Web Sockets 在连接到浏览器和其他方面有很多开销,因为它们试图保持与 HTTP 的兼容。如果你只是连接一对服务器,一个简单的 TCP 连接就足够了。您可以为此使用net 模块

现在,一旦你有了这种联系,你如何开始沟通?您可能会遇到制作自己的协议的麻烦,但我不推荐它。我发现一个简单的 RPC 是最简单的。您可以在任何双工流(包括您的 TCP 套接字)上使用rpc-stream 包。

对于我自己的应用程序,我实际上安装了 socket.io-client 并让我的服务器将它用于 RPC。虽然如果我要再做一次,我会使用 rpc-stream 来跳过设置 Web Socket 连接所需的所有开销。

于 2014-07-25T01:09:02.990 回答