Forzar el cierre de todas las conexiones en un servidor http node.js

Tengo un servidor http creado usando:

var server = http.createServer()

Quiero apagar el servidor. Probablemente lo haría llamando a:

server.close()

Sin embargo, esto solo evita que el servidor reciba nuevas conexiones http. No cierra ninguna que esté abierta.http.close() recibe una devolución de llamada, y esa devolución de llamada no se ejecuta hasta que todas las conexiones abiertas se hayan desconectado realmente. ¿Hay alguna forma de forzar el cierre de todo?

La raíz del problema para mí es que tengo pruebas de Mocha que inician un servidor http en su configuración (beforeEach()) y luego apagarlo en su desmontaje (afterEach()). Pero desde que acabo de llamarserver.close() no cerrará completamente las cosas, la subsiguientehttp.createServer() a menudo resulta en unaEADDRINUSE error. Esperandoclose() terminar tampoco es una opción, ya que las conexiones abiertas pueden tardar mucho tiempo en agotarse.

Necesito alguna forma de forzar-cerrar conexiones. Puedo hacer esto en el lado del cliente, pero forzando que todas mis conexiones de prueba se cierren, pero prefiero hacerlo en el lado del servidor, es decir, simplemente decirle al servidor http que cierre todos los sockets.

Respuestas a la pregunta(5)

Su respuesta a la pregunta