Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Работы скрипта после закрытия браузера


Автор: vintyara 2.11.2006, 23:31
Нужно замутить сабж. Сейчас я объясню зачем мне это нужно, потом приведу скрипт, который написал я, но который почему-то не корректно работает. От вас хочу узнать причину некорректной работы моего скрипты, так же камни в мой адрес относительно того - можно ли так делать, как я, и возможные способы реализации того что мне надо smile !

Итак. Есть чатег небольшой. "Потоковый". Мы коннектимся к БД, и выводим на екран все новые мессаги. Выводим всё это дело мы в бесконевчном цикле.  Но есть одно НО =) Если юзер закроет браузер, то коннект к БД остаётся. И висит он на моём хостере порядка 5ти часов. Понятно, что такое пользование чатом не возможно...

Что я придумал:

Код

...
ini_set("ignore_user_abort", 1);
...
include("class.php");
$link_db = new db;
while (connection_aborted()==false)
{
....
//вывод мессаг на екран и т.п.
}
if (connection_aborted()==true){
     mysql_close();
...


Вот такая штука. Т.е. разрешаем ignore_user_abort (т.к. по дефолту он выключен), и если наш иф обнаруживает, что "юзер закрыл браузер",
делаем мускуль_клосе. Но почему-то mysql_close() у меня не выполняется после закрытия браузера smile 

Хочется знать почему, хочется знать нормальный ли это метод, хочется знать как можно ещё зделать "такую фишку".

Автор: -=Ustas=- 3.11.2006, 00:11
А если на кнопку "Остановить" нажимаешь, то mysql_close() отрабатывает?! Просто ignore_user_abort действует на явное прерывание выполнения скрипта, поэтому закрытие браузера скрипт никак не узнает.

Автор: vintyara 3.11.2006, 10:58
-=Ustas=-, не. даже при нажатии на stop коннект не закрывается. Но даже если бы и закрылся - это не подходит !
Подскажите как закрывать в любом случае !

Автор: CyClon 3.11.2006, 21:42
Попробуй через AJAX + JavaScript организовать как-то, думаю в эту сторону нужно копать. Хотя подобное не проделывал.

Автор: vintyara 3.11.2006, 22:18
CyClon, будет очень проблематично smile ни того ни того не знаю smile

Автор: -=Ustas=- 4.11.2006, 09:02
vintyara, Я как то раньше пытался делать что-то подобное, но потом все таки забил. http://forum.vingrad.ru/topic-62009/unread-1/hl/%25D0%25B7%25D0%25B0%25D0%25BA%25D1%2580%25D0%25AB%25D1%2582%25D0%25B8%25D0%25B5%2Cand%2C%25D0%25B1%25D1%2580%25D0%25B0%25D1%2583%25D0%25B7%25D0%25B5%25D1%2580%25D0%25B0/index.html, посмотри, моя тема идентичная твоей.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)