节点 – 如何发送连续的HTTP响应回到客户端

我在节点js上工作,这对我来说是非常新的。 在这里,我有以下function,我从JS调用Http请求,并等待从Http响应返回的响应。 在这里,我得到了正确的答复,但在我的情况下,我在传感器设备上工作。 所以,我需要从HTTP获得连续的响应。 我正在使用

msg.res.send(200, 'Thanks for the request '); 

并向客户发送“谢谢您的请求”。 但是,如果我使用

 msg.res.send(200, 'Thanks for the request '); msg.res.send(200, 'Thanks for the request '); 

像这样,第一个工作正常,第二个错误如下

错误:发送后无法设置标题。

可以请帮我解决这个问题,因为我需要从HTTP到客户端的持续响应。

提前致谢

由于Http是一个无状态的协议,只要你发送回应,连接就会结束。

实现你正在寻找的最好的方法是打开一个TCP连接到服务器。 然后您可以通过此连接继续发送数据。

 var net = require('net'); var client = new net.Socket(); client.connect(1337, '127.0.0.1', function() { console.log('Connected'); client.write('Thanks you'); client.write('Another thank you'); }); client.on('data', function(data) { console.log('Received: ' + data); client.destroy(); // kill client after server's response }); client.on('close', function() { console.log('Connection closed'); }); 

如果http是唯一的select,你将不得不等待,直到你得到所有需要的数据,然后立即发送它。 通过res.status(200).send('谢谢'+'另一个谢谢')