Я написал an XMPP client для Интернета, используя стандартный метод BOSH для подключения к серверу.Публикация XMLHTTPRequest при закрытии окна
У меня возникла проблема, когда соединение пользователя остается открытым, когда пользователь закрывает окно; Я не могу действовать в отношении обнаружения такого вида деятельности из-за особенностей протокола. Одной из причин, по которой BOSH был разработан, было обращение к сетям, зависящим от потери связи. Таким образом, проигрывание соединения BOSH (Comet) с сервером допускается, если другое соединение открывается в течение заранее определенного таймфрейма. Таким образом, чтобы действительно отключить пользователя, мне пришлось бы отправить сообщение об отключении на сервер XMPP через другой XMLHTTPRequest.
Из-за асинхронного характера XMLHTTPRequest это, насколько мне известно, невозможно (и это могло бы стать проблемой конфиденциальности, если это было возможно). Или я ошибаюсь? Может кто-то пролить свет на то, как отправить один последний запрос на сервер при закрытии окна пользователем?
Хотя хороший хак, это не решение, так как окно/вкладку близко должна быть не интерактивными. –