nodejs套接字从一个端口接收数据并在另一个端口上可用

时间:2017-05-28 07:56:59

标签: node.js socket.io port

我有两个设备。一个设备将数据发送到一个套接字端口,即。 9000和另一个设备连接到另一个端口即。 8000我希望第二个设备从第一个设备接收从端口9000接收的相同数据。

我想使用nodejs和socket io创建一个脚本来接收来自一个端口的数据,例如:192.168.25.42:9000,并且相同的接收数据应该可以在不同的端口192.168.25.42:8000上获得

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

你需要有2个socket.io服务器,一个监听端口9000,另一个监听端口8000.

当一台服务器接收数据时,您将该数据发送到另一台服务器。

const express = require("express");
const http = require('http');

const app8000 = express();
const app9000 = express();

const server8000 = http.Server(app8000);
const server9000 = http.Server(app9000);

const io8000 = require('socket.io')(server8000);
const io9000 = require('socket.io')(server9000);

server8000.listen(8000);
server9000.listen(9000);

// Server on port 8000

io8000.on('connection', socket => {
    socket.on('my-event', data => {
        //Push data to clients connected to server on port 9000
        io9000.emit("event-from-8000", "From 8000: " + data);
    });
});

// Server on port 9000

io9000.on('connection', socket => {
    socket.on('my-event', data => {
        //Push data to clients connected to server on port 8000
        io8000.emit("event-from-9000", "From 9000: " + data);
    });
});