почему nodejs сервер веб-сокетов зависает после закрытия? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь создать сервер веб-сокетов, который получает сообщение, а затем закрывает . Оттуда скрипт должен вести себя так, как будто сервер веб-сокетов никогда не существовал ...

Не могу понять, почему сервер веб-сокетов продолжает зависать.

const WebSocket = require('ws')
const wss = new WebSocket.Server({ port: 8080 })

wss.on('connection', ws => {
    ws.on('message', message => {
        console.log(`Received message => ${message}`);
        ws.send('Hello! Message From Server!!');
    });

    ws.on("close", ws => {
        console.log("closed!");
        ws.close();
        //ws.terminate();
    });
});

Оба ws.close и ws.terminate оставьте сценарий зависшим после получения сообщения. Как действительно закрыть сервер и позволить сценарию действовать, если сервер веб-сокетов никогда не существовал? Я хочу обработать информацию, полученную от клиента.

В этом ответе ({ ссылка }) предлагается закрыть сервер, но он не работает. Даже process.exit не останавливает это!

Редактировать : Похоже, я должен был сделать wss.close(). Как мне теперь обработать сообщение, полученное с сервера веб-сокетов? Я предполагаю, что мне нужно вернуть обещание, которое я где-то выполнил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...