0

我有一个套接字(socket.io),它在套接字连接上连接到 MS SQL 数据库,如下所示:

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);

当套接字断开连接时,我想终止该数据库连接,但node.js 的模块中似乎没有close()操作。msnodesql如何在套接字断开连接时关闭此连接?

socket.on('disconnect', function(){
                //close the MS SQL db connection 
            });
4

1 回答 1

1

从其中一个测试用例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.
  });
});
于 2013-11-07T17:23:09.910 回答