本人需要通过代码实现服务器打开关闭。相关代码如下:var express = require(‘express’);var app = express();var http = require(‘http’).Server(app);var io = require(‘socket.io’)(http);//打开服务器server.prototype.openServer = function(){http.listen(3001, function(){console.log(‘listening on *:3001’);});}//关闭服务器server.prototype.stopServer = function(){http.close(function(){console.log(‘stop listening’);})}在这里我将打开和关闭服务器写成两个函数,方便调用。但是关闭服务器代码是有问题的,当没有客户端连上服务器时,关闭服务器代码能正常工作。但当有客户端连上服务器时,http.close()并不执行。本人菜鸟一枚,不知道问题出在哪里,请求高手指点迷津,感激不尽!!
@yorkie 是的,我的需求是外部可通过调用这两个函数随时开启和关闭服务器,使用process.exit()会把进程中断,用.close()的话,如果有客户端连上服务器就不能关闭服务器,也尝试了在.close()之前用程序断开所以客户端与服务器的连接,但效果还是不理想,不晓得大牛有没有比较好的方法。
@Emma0809https://github.com/mathrawka/express-graceful-exit 用这个,如果你想详细了解可以google一下:node.js close application gracefully,有很多介绍这个的文章