Чувак, ты либо очень крутой программист (но тогда ты бы не задавал таких вопросов), либо решил прокатиться по скользкой тропе говнокода на своем велосипеде.
Создаю php & js библиотеку для longpolling. в цикле while (php) нужен вызов обратной функции, тоже самое и в ajax запросе. Не думаю что это велосипед.
Не использую ооп на стороне сервера (в целях производительности). Поэтому пришлось отказаться от классов. Следственно и такое решение:
function longPoll(callable $longpoll)
{
$longpoll();
}
Outoverlay: в целях производительности лучше выбрать вебсокеты на той же ноде, центрифуге (автор говорит, что после перехода на go она ну просто адски производительная стала) или чем-либо еще, а не держать в памяти php скрипт (да еще и по одной штуке на каждого посетителя). Большой нагрузки ваше решение не выдержит, поэтому вместо того, чтобы экономить на классах и писать говнокод лучше используйте подходящую технологию. Хотя с другой стороны если это лишь ваши личные эксперименты, а не что-то серьезное, то наоборот лучше попробовать - набитые на собственных экспериментах шишки способствуют более быстрому обучению. Я серьезно, любой программист должен иметь возможность поэкспериментировать :)
Дмитрий Евграфович: nodejs согласен будет намного лучше. Но, не все хостинги его поддерживают. Указав какая страница будет отправлять запрос, с помощью loacal storge. Это позволит избежать лишний трафик. Плюс есть такая полезная штука как memcached
Outoverlay: memcached тоже поддерживают не все хостинги, впрочем, кэшер вам не сильно поможет - он решает проблему первичной инициализации и компиляции скрипта, а не то, как быстро или медленно он затем работает (а скрипт при лонг пулинге у вас в любом случае уже висит в памяти скомпилированный и запущенный) и не проблемы с памятью. Проблема будет в том, что с php у вас в памяти будет висеть по одному процессу на каждое соединение и я сомневаюсь, что упомянутые вами хостинги выдержат хотя бы сотню одновременно подключенных по вашей схеме клиентов. Хотя тут цифрами оперирую вслепую, слишком разные характеристики бывают у хостингов и слишком разную сложность вычислений несут скрипты.