监听现有套接字的所有消息

时间:2017-02-25 13:41:59

标签: node.js sockets proxy listen

我的Linux中有一个桌面软件,它在端口9000中有一个套接字。它们与另一个应用程序连接。 我需要查看为另一个应用程序发送的所有消息。如何使套接字代理记录所有传递的消息?

现在我有:

Software1在端口9000中创建套接字。 Software2与端口9000建立连接。

我想: Software1在端口9000中创建套接字。 我的新应用程序在端口9005中创建一个套接字。 Software2与端口9005建立连接。 为我的新应用程序发送的所有消息都应记录并传递另一个软件的消息。

我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您要做的是将所有传入的webSocket消息到达端口9000并将其发送到端口9000(转发它们),那么您可以这样做:

const WebSocket = require('ws');

// create webSocket server for incoming connections on port 9000
const wServer = new WebSocket.Server({port: 9000});

const wClient = new WebSocket('ws://www.somehost.com', {});

wClient.on('open', () => {
    console.log("connected to other client");
});

wClient.on('error, err => {
    console.log("client error", err);
});

// server event handlers
wServer.on('listening', () => {
    console.log("server started");
});

wServer.on('connection', ws => {
    // forward all incoming messages to the other server
    ws.on('message', msg => {
        wClient.send(msg);
    });
});

wSserver.on('error', err => {
    console.log("server error", err);
});