gpt4 book ai didi

node.js - 如何保持服务器客户端连接

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

我使用现有的 node.js 代码从 GPS 设备接收数据。该代码可以正常运行,但有一个缺陷。理想情况下,我们希望保持服务器-客户端连接处于事件状态。但似乎连接已关闭,然后非常频繁地打开。当我运行下面的代码时,输​​出是这样的

new connection existing connection existing connection new connection existing connection existing connection new connection

任何人有更改它的建议吗?理想情况下,我们希望只有一个新连接,其余的是现有连接。

const net = require('net');
const request = require('request');

var server = net.createServer(function (socket) {

console.log('new connection');
socket.on('data', function(data) {
data = data.toString();
console.log('data from port',data);

console.log('exiting connection');
});
}).listen(39003, '0.0.0.0');

server.on('error', (err) => {
console.log(err);
});

server.on('listening', () => {
console.log('listening on port ' + 39003);
});

最佳答案

您需要做两件事/行动项目:

  • 您的代码必须启用 keep-alives(看看这个,对于 nodejs:https://www.npmjs.com/package/agentkeepalive)。
  • 需要配置远程代码以支持 keepalive(您可以运行 tcpdump/wireshark 来查看哪一端关闭了连接)。根据服务 GPS 数据的内容,可以使用不同的配置选项。例如,在 nginx 中,可以使用 keepalive_timeout 0; 指令禁用 keepalive。

关于node.js - 如何保持服务器客户端连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48169291/

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