Я занимаюсь поиском веб-сайтов с помощью PHP. (COMET) Я искал очень давно. (около месяца) Я даже проверил некоторые скрипты чата PHP и использовал их на своем веб-сервере, но у меня были некоторые проблемы для большинства из них. (будет объяснено)PHP и COMET. Нужно руководство
До сих пор большинство людей говорили то же самое: PHP не лучший язык, который можно использовать с COMET. Примеры чата/кометы в лучшем случае взломаны.
Я спрашиваю об этом, потому что я хочу иметь некоторые функции на своих веб-сайтах, например, разрешать пользователям общаться в чате друг с другом. Вот где мне нужно живое соединение с PHP-страницами. Я также планирую сделать игру на основе браузера, и живое соединение по-прежнему будет обязательным!
AJAX был редкой вещью 2 года назад, освещенной Facebook. Теперь почти все используют его, и это стало стандартом для веб-разработки. Теперь веб-сайты на базе COMET растут. Youtube, Google+, Facebook, Battle's EA и т. Д. Я считаю, что я должен научиться его использовать.
Хорошо, вот мои вопросы. (Часть информации на уровне ниже, являются те, которые я собрал во время поиска на Google. Не уверен, что, если они правы или нет.)
Некоторых языков, таких как Python имеет специальный веб-сервера, предназначенные для этой работы. Я считаю, что один из них называется Tornado Web Server. Разработано и настроено для имитации тысяч живых подключений. Я считаю, что в Appserv нет такого варианта, но некоторые люди сказали, что NGINX может справиться с ним с достойной конфигурацией. Это правда? Какие конфигурации должны быть сделаны? Есть ли веб-серверы PHP для этой работы?
Некоторые из наиболее предложенных вещей:
а. Использование APE.
b. Использование Socket.IO
c. Node.js
Есть ли способ использовать их с PHP? Какой из них наиболее перспективен? Не могли бы вы дать им некоторое руководство? Есть ли что-то еще?
Я использовал сценарий кометного чата. В основном, вы продолжали запрашивать базу данных и выводили результат с помощью flush() в браузер, спя себя с помощью usleep() в цикле. (Это один стало трудно понять, так что обеспечит быстрый код)
while(true) { // query database // output the result // flush the browser // sleep for few seconds to lower cpu load }
usleep()
функция в основном уничтожила мой веб-сервер на базе операционных систем Windows. Нормально ли полагаться на usleep()
на приложения комет, которые работают на ОС на базе Windows? Я имею в виду, есть ли даже способ «спящего» PHP-скриптов? Независимо от того, что я делаю, загрузка процессора идет на% 100 как на WIN, так и на UNIX-серверах.
Является ли PHP «действительно» слабым в этой области? Должен ли я отказаться от PHP и сосредоточиться на других языках? Если да, то какой язык вы бы предложили? (Этот язык должен быть многообещающим. Например, при добавлении HTML5 мало пользы AS3, а AS3 скорее скоро умрет, а JS светит.)
Что такое WebSync? Может ли он использоваться с PHP?
Пожалуйста, имейте в виду, что мне нужно использовать COMET, чтобы сделать следующие приложения:
- чат скрипт, где вошли в систему игроки смогут общаться друг друга.
- Браузерная игра. Я уже использую JSON/AJAX и тому подобное при кодировании, но для получения шагов противников мне нужно вытащить данные, чтобы было необходимо живое соединение. (Не представляйте передовые игры, я говорю о таких играх, как шахматы в лучшем случае.)
Я был бы признателен, если вы можете дать мне краткое руководство. В конце концов, я сбиваюсь с толку с каждым днем, так как в Интернете есть МНОГО случайных статей. Люди даже звонят setInterval()
как COMET, так что это полный беспорядок.
Если Вы желаете сделать приложение в режиме реального времени, я хотел бы предложить node.js :) – Menztrual
http://me.veekun.com/ blog/2012/04/09/php-a-fractal-of-bad-design/дает хорошее резюме по php; P – Menztrual
_ Должен ли я отказаться от PHP_? Вы имеете в виду вообще? Точно нет. Это вполне приемлемо для использования в качестве основного языка, в то время как использование чего-то еще более подходит для задачи. Для кометы используйте что-то простое и легкое, которое реализует потоки и может разговаривать с базой данных вашего сайта. – halfer