Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点-如何将连续HTTP响应发送回客户端_Javascript_Node.js_Http - Fatal编程技术网

Javascript 节点-如何将连续HTTP响应发送回客户端

Javascript 节点-如何将连续HTTP响应发送回客户端,javascript,node.js,http,Javascript,Node.js,Http,我正在研究NodeJS,它对我来说是非常新的。这里我有以下功能, 我正在从JS调用Http请求,并等待Http响应返回响应。在这里,我得到了正确的响应,但在我的情况下,我在传感器设备上工作。因此,我需要从HTTP获取连续的响应。我正在使用 msg.res.send(200, 'Thanks for the request '); 它正在向客户发回“感谢您的请求”。但是如果我使用 msg.res.send(200, 'Thanks for the request '); msg.res.send

我正在研究NodeJS,它对我来说是非常新的。这里我有以下功能, 我正在从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是唯一的选项,那么您必须等待获得所有必需的数据,然后立即发送它。通过res.status(200).send('Thank you'+'Other Thank you')

由于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是唯一的选项,那么您必须等待获得所有必需的数据,然后立即发送它。通过res.status(200)。发送(“谢谢”+“再次感谢”)

感谢回复。我看到“已连接”和“连接已关闭”日志。我在哪里可以看到或从socket获取写入数据@Ralstan Vazclient.write将在建立连接后将数据写入流。必须在执行连接回调之后。感谢回复。我看到“已连接”和“连接已关闭”日志。我在哪里可以看到或从socket获取写入数据@Ralstan Vazclient.write将在连接建立后将数据写入流。它必须在连接回调执行之后。