Я хотел бы создать многопользовательское приложение для веб-игр, в котором оно поддерживает чат. Я предполагаю, что приложению придется обрабатывать сотни одновременных соединений.
Я планирую разместить свое приложение на общем веб-хостинге, который имеет следующие ограничения (вероятнее всего, аналогичные PHP + Comet (long-polling) scaling / hosts ):
- Не похоже, что я могу изменить веб-сервер. Скорее всего, он использует Apache.
- Поддерживает MySQL 5, PHP 5.3.x, Perl, Python, Ruby on Rails, CGI
(Точнее, я буду использовать общий веб-хостинг HawkHost.)
А вот мой результат исследования, за которым следуют мои вопросы:
- Некоторые ресурсы (например, Python Comet Server ) говорят, что PHP не подходит для обработки одновременных подключений, тогда как Python - лучший выбор. Это правда?
- Я пытался использовать технику длинных опросов в PHP (хотя я не знаю, правильно ли она реализована или нет, например, Проблема с кометой при оставленных открытых соединениях ), используя "Зацикливаться бесконечно, пока не изменятся данные. " метод. Это почти работает . Оставшаяся проблема заключается в том, что серверный процесс никогда не умирает, когда браузер закрыт (сервер не знает, что соединение было разорвано, и данные никогда не изменяются). Есть ли способ, которым PHP может определить, был ли браузер завершен, чтобы остановить цикл?
Я искал повсюду, чтобы найти ответы, но все же я не могу ничего сделать. Эту тему также много раз задавали в StackOverflow, извините, если я могу повторить>. <. </p>
В настоящее время я могу кодировать, используя PHP, MySQL и JQuery для JS. Я все еще плохо знаком с термином Комета и Сервер Push. При необходимости я также хочу выучить новый язык сценариев, такой как Python.
Я ценю любые идеи о том, какой язык сценариев, инфраструктуру и методы использовать для запуска моего проекта.