Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 在套接字断开连接时终止msnodesql连接?_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript 在套接字断开连接时终止msnodesql连接?

Javascript 在套接字断开连接时终止msnodesql连接?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我有一个套接字(socket.io),它连接到MS SQL db on套接字连接,如下所示: io.sockets.on('connection', function (socket) { var intervalID; sql.open(connStr, function(err,conn){ //open connection to MS SQL db if(err) console.error("Could not con

我有一个套接字(socket.io),它连接到MS SQL db on套接字连接,如下所示:

io.sockets.on('connection', function (socket) {
    var intervalID;
    sql.open(connStr, function(err,conn){       //open connection to MS SQL db
        if(err)
            console.error("Could not connect to sql: ", err);
当套接字断开连接时,我想终止该db连接,但node.js的
msnodesql
模块中似乎没有
close()
操作。如何在插座断开时关闭此连接

socket.on('disconnect', function(){
                //close the MS SQL db connection 
            });
有一个
conn.close()
正在从其中一个调用

顺便说一句:您正在为每个新的
socket.io
客户端打开一个新的数据库连接。根据您的情况,创建单个连接并重用它可能就足够了:

// open connection to database
sql.open(connStr, function(err, conn) {
  if (err) throw err;

  // start accepting socket.io connections
  io.sockets.on('connection', function (socket) {
    // use 'conn' here.
  });
});

这就是我想要关闭DB连接的根本原因。因为我正在创建新的套接字连接,所以每个新客户端都有相关的db连接。这在数据库服务器上造成了很大的开销。非常感谢。