Я использую некоторые кометные приемы, включая длинный опрос и навсегда кадр.Я использую iframes для кросс-субдомена.Одна проблема, с которой я столкнулся при реализации этих методов, заключается в том, что когда пользователь обновляет страницу или переходит на другую страницу, вызывая новый запрос, соединение кометы остается открытым со старой страницы.Мой сервер (торнадо) никогда не получает закрытое соединение, и из-за моих ограниченных возможностей Wireshark я не вижу отправленных пакетов TCP fin.Однако когда я закрываю браузер, в этот момент сокеты закрываются.
Эти заброшенные открытые соединения просто используют память на стороне сервера без веской причины.Также это вызывает проблемы, когда сервер отправляет какое-то сообщение в открытый сокет, а IE корректно отображает сообщение об ошибке: «Не удается выполнить код из освобожденного скрипта».Таким образом, IE пытается выполнить код в старом окне, которое было удалено из.Как другие люди решают эту проблему?Должен ли я использовать onbeforeunload, чтобы как-то закрыть соединение?