HTTP - WS и HTTPS - WSS

fixxxer

К.О.
Партнер клуба
а расскажи, чем определяешь продолжительность соединения без активности
Да тупо в лоб, у каждого соединения есть контекст, есть список контекстов, отсортированный по timestamp последнего сообщения, таймером раз в N секунд прохожусь по нему.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
хмм ... чем ты получаешь контекст соединения прокси с nginx? какой id есть у соединения?
 

fixxxer

К.О.
Партнер клуба
ммм
у меня nginx сам прекрасно дропает соединения с клиентом, соответствующее которому соединение с апстримом корректно закрыто
 

scorpion-ds

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

В общем завтра подумаем, как нормально реализовать wss, я бы наверно сделал снова на PHP, но вряд ли меня допустят тратить на это время, так как, у меня, есть много других задач.
 

scorpion-ds

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

Adelf

Administrator
Команда форума
на мобильных процесс браузера(или активити браузера, говоря языком андроида) может быть закрыт в любое время оптимизатором памяти(при этом юзер может просто почту почитать переключиться). Как вы там собрались анализировать... не знаю.

P.S. Возникает ассоциация с пушкой и воробьями. Но, думаю, здесь похлеще можно выразиться :) делают не то и не так....
 

scorpion-ds

Новичок
Как любом случае, без вебсокетов еще хуже, кроме того в момент посещения передаются данные, как пользователь переходит между страницами (это слайдер, сама ссылка "одностраничная"), далее будет тепловая карта, как он мышкой двигал, все это записывается в REDIS, а после закрытия страницы передается уже в БД.
 

scorpion-ds

Новичок
Таки реализовали (вначале той недели еще) средствами nginx, разве что разруливать разные сокеты решили доменами, почему не вышло сделать сразу, я так и не понял, наверно что-то напутали ..., сам особо не вникал, а для эксперимента сделал средствами stunnel.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а сервер не отправляет RST, сервер же не знает что клиент отвалился
 

fixxxer

К.О.
Партнер клуба
А смысл держать соединение с клиентом, если бэкенд сказал "валите в задницу"?
Впрочем, надо посмотреть исходники модуля http_upstream.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
не, там другой flow: клиент открывает long-polling на keep-alive соединении, потом отваливается чтобы пингануть систему по новому соединению,
балансер не знает, что клиент отвалился - состояние "клиент online" не роутер ведет, а приложение, которое не может обратиться к балансеру,
акамай, при этом, соединение с балансером не закрывает потому что так у него написано
 
Последнее редактирование:
Сверху