Node.js HTTP和TCP客户端连接

Node.js HTTP and TCP Clients Connection

本文关键字:客户端 连接 TCP js HTTP Node      更新时间:2023-09-26

我正在尝试创建一个系统,在这个系统中,我有一个用VB创建的桌面客户端和一个基于浏览器的客户端,它们可以相互发送消息。我使用Node.js服务器来处理连接和消息。

这是我的Node.js服务器的代码:

    net = require('net')
// Supports multiple client chat application
// Keep a pool of sockets ready for everyone
// Avoid dead sockets by responding to the 'end' event
var sockets = [];
// Create a TCP socket listener
var s = net.Server(function (socket) {
    // Add the new client socket connection to the array of
    // sockets
    sockets.push(socket);
    // 'data' is an event that means that a message was just sent by the 
    // client application
    socket.on('data', function (msg_sent) {
        // Loop through all of our sockets and send the data
        for (var i = 0; i < sockets.length; i++) {
            // Don't send the data back to the original sender
            if (sockets[i] == socket) // don't send the message to yourself
                continue;
            // Write the msg sent by chat client
            sockets[i].write(msg_sent);
        }
    });
    // Use splice to get rid of the socket that is ending.
    // The 'end' event means tcp client has disconnected.
    socket.on('end', function () {
        var i = sockets.indexOf(socket);
        sockets.splice(i, 1);
    });

});
s.listen(8000);
console.log('System waiting at http://localhost:8000');

有了这台服务器,我可以成功地在两个桌面客户端之间发送消息。然而,因为我使用的是网络而不是HTTP,所以我无法连接基于浏览器的客户端。

如何让两个客户端都连接?如果有任何帮助/建议/指示,我将不胜感激。我已经到处找了大约4天了!TIA!

您可以使用http或express作为基于浏览器的客户端。可以检查socket.io,它也适用于http端口.

若知道你们正在使用的桌面客户端的类型,我会尽力提供更多帮助。