gpt4 book ai didi

Node.js 连接 session

转载 作者:太空宇宙 更新时间:2023-11-04 03:12:37 26 4
gpt4 key购买 nike

我有一个 Node.js 服务器,它几乎运行一个子进程,并通过套接字将标准输出从进程发送到连接的客户端。它工作得很好,但是当客户端断开连接时,由于 var 超出了范围,我无法关闭子进程。这是我的示例代码

var sys = require('sys'),
ws = require('./ws');



var server = ws.createServer(function (socket) {
socket.addListener("connect", function (resource) {
var counter = 0;

sys.puts("client connected from " + resource);

var spawn = require('child_process').spawn, tail = spawn('app');
sys.puts("Spawned child pid: "+ tail.pid);

tail.stdout.addListener('data', function(data) {
socket.write(JSON.stringify(data));
});

})

socket.addListener("close", function () {
//
// need to access the tail var here!!!
//


sys.puts("quit");
})
})

server.listen(3656)

在我的密切监听器中,我需要访问 tail 变量,以便可以终止该进程。

最佳答案

tail 声明向上移动一级,从 onConnectcreateServer,因为它仍然是同一个实例:

ws.createServer(function(socket){
var tail;
socket.addListener("connect", function(resource){
tail = spawn("app");
...
});
socket.addListener("close", function(){
if(tail)
tail = null;
});
});

关于Node.js 连接 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096983/

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