Tôi đang cố gắng tìm cách tắt một phiên bản của Express. Về cơ bản, tôi muốn nghịch đảo của .listen(port)
cuộc gọi - làm cách nào để khiến máy chủ Express NGỪNG nghe, giải phóng cổng và tắt sạch?
Tôi biết đây có vẻ như là một truy vấn kỳ lạ, vì vậy đây là bối cảnh; có thể có một cách khác để tiếp cận điều này và tôi đang nghĩ về nó một cách sai lầm. Tôi đang cố gắng thiết lập khung thử nghiệm cho ứng dụng socket.io/nodejs của mình. Đó là một ứng dụng một trang, vì vậy trong các tập lệnh thử nghiệm của tôi (tôi đang sử dụng Mocha, nhưng điều đó không thực sự quan trọng) Tôi muốn có thể khởi động máy chủ, chạy các thử nghiệm đối với nó và sau đó tắt máy chủ. Tôi có thể giải quyết vấn đề này bằng cách giả định rằng máy chủ được bật trước khi thử nghiệm bắt đầu hoặc bằng cách để một trong các thử nghiệm khởi động máy chủ và mọi thử nghiệm tiếp theo đều cho rằng nó hoạt động, nhưng điều đó thực sự lộn xộn. Tôi muốn để mỗi tệp thử nghiệm khởi động một phiên bản máy chủ với các cài đặt thích hợp và sau đó tắt phiên bản đó khi các bài kiểm tra kết thúc. Điều đó có nghĩa là không có sự phụ thuộc kỳ lạ nào để chạy thử nghiệm và mọi thứ đều sạch sẽ. Nó cũng có nghĩa là tôi có thể thực hiện thử nghiệm khởi động / tắt máy.
Vì vậy, bất kỳ lời khuyên về cách làm điều này? Tôi đã nghĩ đến việc kích hoạt các ngoại lệ theo cách thủ công để giảm nó xuống, nhưng điều đó có vẻ lộn xộn. Tôi đã tìm hiểu các tài liệu và nguồn Express, nhưng dường như không thể tìm thấy bất kỳ phương pháp nào có thể tắt máy chủ. Cũng có thể có một cái gì đó trong socket.io cho điều này, nhưng vì máy chủ socket chỉ được gắn vào máy chủ Express, tôi nghĩ điều này cần phải xảy ra ở lớp express.