LINUX.ORG.RU
ФорумAdmin

Висит соединение после отрубание интернета

 , ,


0

2

Есть клиент(браузер, вебсокет), который соединен с сервером(nginx) по tcp, порт 8101. Когда я на клиенте отрубаю инет, то вижу что соединение до сих пор висит

netstat -np | grep IP
tcp        0      0 server:8101     IP:38497    ESTABLISHED 17111/nginx: worker

Почему оно висит? Это соединение может и час висеть и...хз сколько. Как сделать, чтобы эти фейковые соединения завершались? Для меня это критично, потому что это говорит, что пользователь «online». Да, я могу делать ping-pong и отрубать по таймауту своим софтом, но хотелось бы решить это средством nginx или linux

★★★★

Последнее исправление: gobot (всего исправлений: 1)

Ответ на: комментарий от mky
keepalive_timeout  65;
proxy_read_timeout 86400;


Такие параметры нужны, чтобы вебсокет клиенты не отрубались, когда данные не идут от них. Они ведь могут быть подключены и просто ожидать данные часами. В TCP есть какой-нибудь служебный обмен пакетами, чтобы узнать соединен сокет или нет? Или нет этого?

gobot ★★★★
() автор топика

Для Firefox после закрытия вкладки будет висеть ESTABLISHED, пока в самом браузере не удалить активные сеансы (Ctrl+Shift+Del), либо пока не закрыть браузер.

ArcFi
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.