我有一个http服务器创建使用:
var server = http.createServer()
我想关闭服务器.大概我会这样做:
server.close()
但是,这只会阻止服务器接收任何新的http连接.它不关闭任何仍然是开放的. http.close()接受回调,并且在所有打开的连接实际上已断开连接之前,该回调不会执行.有办法强制关闭一切吗?
问题的根源在于我有Mocha测试,在他们的设置(beforeEach())中启动一个http服务器,然后在拆分(afterEach())中关闭它.但是由于刚刚调用server.close()将不会完全关闭,所以后续的http.createServer()通常会导致EADDRINUSE错误.等待close()完成也不是一个选择,因为开放连接可能需要很长时间才能超时.
我需要一些强制关闭连接的方法.我可以做这个客户端,但是迫使我的所有测试连接关闭,但我宁愿在服务器端执行操作,即只是告诉HTTP服务器硬关闭所有套接字.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。