首页 > 解决方案 > 如何在两个不同的接口之间建立 socket.io 连接?

问题描述

我实际上是在尝试在两个不同的应用程序之间建立实时连接。我找到了一堆关于如何使用 socket.io 进行聊天的教程,但这并没有真正帮助我,因为它只是在多个窗口中复制的同一个应用程序。

我正在为本地开发中的英雄联盟制作一个选择和禁令覆盖。我的第一个想法是一方面显示空覆盖,另一方面创建一个界面来手动更新它。在我的情况下,Socket.io 似乎是正确的选择,因为它可以提供新数据而无需重新加载组件。

这是我在两个应用程序中写的:

const express = require('express');
const socket = require('socket.io');

// App setup
const app = express();
const server = app.listen(4200, function () {
    console.log('Listening to requests on port 4200')
});

// Static files
app.use(express.static('public'));

// Socket setup
const io = socket(server);

io.on('connection', function (socket) {
    console.log('Made socket connection', socket.id);

    socket.on('change', function (data) {
        io.sockets.emit('change', data);
    });
});

但我无法连接它们,因为它们必须监听同一个端口。我究竟做错了什么?(原谅我的英语不好和缺乏语法,我在这里尽我所能。:p)

标签: javascriptnode.jssocket.io

解决方案


我当然不是网络编程方面的专家,但据我所知,您需要一个监听应用程序(后端)和另一个连接到它(客户端)。并且您定义后端收到的所有数据(消息)会发生什么(例如将收到的消息发送给同一聊天室中的所有客户端)。

如果我正确地假设您正在尝试连接两个监听应用程序?

简单的谷歌搜索“nodejs 套接字服务器客户端示例”揭示了这个https://www.dev2qa.com/node-js-tcp-socket-client-server-example/可能想把你的研究带向这个方向


推荐阅读