обрабатываю сообщения с сервера
И если делаю os.Exit() или подаю сигнал SIGINT, то соединение на сервере остается живым, хотя клиент завершил свою работу
Как тогда убить соединение правильно в таком случае?
P.S. если завершить сервер таким же способом, то на клиенте соединение разрывается
правильно, к сожалению, гонять по вебсокету keepalive сообщения, и закрываться по их отсутствию по таймауту
Стандартный способ это делать Read() (в горутине) и на клиенте и на сервере который сразу вернёт EOF, как только соединение будет разорвано. Но в этом чате об этом упорно не знают. Уже было несколько таких вопросов, и вот 2020 год а воз и ныне там :)
Обсуждают сегодня