gpt4 book ai didi

javascript - 如何在使用 node.js 时将数据发送到指定连接

转载 作者:可可西里 更新时间:2023-11-01 02:31:57 26 4
gpt4 key购买 nike

我正在使用 node.js 构建 TCP 服务器,就像文档中的示例一样。服务器建立持久连接并处理客户端请求。但我还需要将数据发送到任何指定的连接,这意味着此操作不是客户端驱动的。如何做到这一点?

最佳答案

您的服务器可以通过在服务器上添加“连接”事件并在流上删除“关闭”事件来维护事件连接的数据结构。然后,您可以从该数据结构中选择所需的连接,并随时向其中写入数据。

这是一个时间服务器的简单示例,它每秒向所有连接的客户端发送当前时间:

var net = require('net')
, clients = {}; // Contains all active clients at any time.

net.createServer().on('connection', function(sock) {
clients[sock.fd] = sock; // Add the client, keyed by fd.
sock.on('close', function() {
delete clients[sock.fd]; // Remove the client.
});
}).listen(5555, 'localhost');

setInterval(function() { // Write the time to all clients every second.
var i, sock;
for (i in clients) {
sock = clients[i];
if (sock.writable) { // In case it closed while we are iterating.
sock.write(new Date().toString() + "\n");
}
}
}, 1000);

关于javascript - 如何在使用 node.js 时将数据发送到指定连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6210117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com