2016-06-16 3 views
1

У меня есть socket.io, работающий с Express. Когда я CTRL-C на терминале, чтобы остановить запустить сервер, браузер продолжает сообщать следующее:как остановить попытки повторного соединения сокета socket.io

Console output after server is interrupted

Я нашел различные подобные вопросы, ни один из которых помогли мне решить мой вопрос.

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

Большое спасибо заранее

+0

Вы пытались удалить объект сокета? –

ответ

1

Короткий ответ:

Стоп нажатием CTRL-C, шучу.

Длинный ответ:

Есть несколько вещей, которые вы могли бы сделать:

1) Вы можете изменить reconnection options на клиенте, может быть установлен reconnection ложь. Но, возможно, это не желательно для реального мира, поэтому вместо этого вы можете:

2) Disconnect the client socket from the server перед выходом сервера. Стратегия выхода для этого будет зависеть от того, какой сервер вы используете.

3) Если варианты один и два не являются жизнеспособными, то вы не можете сделать это, так как вы закрываете сервер и оставляете своего клиента висящим во времени, думая, что сервер когда-нибудь вернется. Впрочем, это не волнует. Вы - консоль, у которой большой рот ...

Надеюсь, что это поможет!

0

Я нашел решение.

Мне все еще интересно, почему некоторые события в socket.io просто не срабатывают, но, возможно, это еще один вопрос. Код, который помог мне решить мой вопрос:

var socket = io.connect('http://localhost:3000', {'reconnection': false}); 

Спасибо за ваш вклад

Смежные вопросы