使用 Socket.IO 将 Node.JS 服务器连接到另一个 Node.JS 服务器?

Posted

技术标签:

【中文标题】使用 Socket.IO 将 Node.JS 服务器连接到另一个 Node.JS 服务器?【英文标题】:Connect a Node.JS server to another Node.JS server with Socket.IO? 【发布时间】:2018-12-15 14:14:21 【问题描述】:

我正在尝试使用 Socket.IO 在两个 Node.JS 服务器之间发送数据。我通常只将 Socket.IO 用于 Node.JS 到/从网站,但我从来没有去服务器到服务器。我怎样才能做到这一点?我真的只需要知道 Node.JS 服务器如何创建与另一个 Node.JS 服务器的连接。

旁注:如果有更好/更简单的方式将数据从服务器发送到服务器,请告诉我。两台服务器都托管在同一个 IP 上。

【问题讨论】:

【参考方案1】:

您获得了 node.js 的 socket.io-client module 并使用与从浏览器连接到另一个 socket.io 服务器几乎相同的代码。

您可以查看socket.io-client here in the socket.io doc的服务器端使用示例。

var socket = require('socket.io-client')('http://localhost');
socket.on('connect', function());
socket.on('event', function(data));
socket.on('disconnect', function());

【讨论】:

非常感谢!这正是我想要的。 ws 库有没有类似的? @Normajean - 根据哪个服务器端 webSocket 库,有些内置了客户端 webSocket 支持。这个ws library 已经内置了客户端支持。 如何使用它?我尝试将客户端代码推送到一个节点 js 服务器中,然后将服务器端代码推送到另一台服务器中,但它似乎不起作用..? @Normajean - 如果您需要进一步的帮助,请编写您自己的问题并显示您尝试过的代码(客户端和服务器代码)。没有人可以在没有看到代码的情况下帮助您。您的问题与此 socket.io 问题没有真正的关系。

以上是关于使用 Socket.IO 将 Node.JS 服务器连接到另一个 Node.JS 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

使用集群将 Socket.IO 扩展到多个 Node.js 进程时的一些问题

使用 Node.js 和 Socket.io 将更改推送到所有客户端

将 Socket.io 浏览器客户端连接到本地 Node.js 网络服务器

与 Node.js / Socket.io 服务器共享 Laravel 会话

express,用于浏览器客户端和 node.js 客户端的 socket.io 服务器

Node.js socket.io 没有响应 iOS socket.io 发出请求