Node.js HTTP和TCP客户端连接
Node.js HTTP and TCP Clients Connection
我正在尝试创建一个系统,在这个系统中,我有一个用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端口.
若知道你们正在使用的桌面客户端的类型,我会尽力提供更多帮助。
相关文章:
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- SignalR客户端启动连接时如何设置用户
- 服务器上的Meteor客户端断开连接事件
- 可以't连接客户端和服务器import.io
- 单个 Redis 客户端连接是否支持并发读写
- 多个 socket.io 客户端连接不起作用(谷歌浏览器,火狐浏览器)
- Node和Socket.io…阻止外部客户端连接
- 将两个 socket.io 客户端连接在一起(建立套接字到套接字,跨浏览器连接)
- 在客户端连接 HTML 中的两个字符串(无服务器)
- Node.JS 模拟 1000/+ 客户端连接的客户端应用
- 使用Socket.io将客户端连接到服务器
- Node.js:ssocket.io关闭客户端连接
- 无法从javascript客户端连接signalR集线器
- Strophe.js客户端连接到服务器,断开连接/超时
- Node js服务器safari客户端连接失败
- 套接字服务器未与JavaScript套接字客户端连接
- socket.io非活动客户端连接的服务器端超时
- Node.js HTTP和TCP客户端连接
- socket.io 复制每个新客户端连接的信息
- 当webSocket客户端连接时,节点httpServer关闭失败