Пользователь для пользователя веб-приложения чата (PHP) - какой выбор? - PullRequest
2 голосов
/ 06 июня 2009

Я собираюсь реализовать приложение веб-чата 1 на 1 для пользователя для нового веб-сайта. Нечто похожее на Omegle - цель конечного продукта. Кто-нибудь знает о готовых решениях, способных на это?

Благодаря моему опыту, PHP является языком выбора. Omegle был написан на Python с использованием витой библиотеки. Если это сводится к созданию приложения с нуля, может ли кто-нибудь дать совет по решению сетевого взаимодействия между пользователями через PHP?

Заранее спасибо за помощь. Как вы, наверное, поняли, я не рискнул далеко от основных веб-сайтов, поэтому, несмотря на то, что с PHP все в порядке, уровень соединений / сетей для меня довольно чужд.

Лоб

Долгое время читатель, первый постер

Ответы [ 3 ]

2 голосов
/ 06 июня 2009

Существует ряд решений на основе Jabber с JS или Flash-клиентом. Один простой в установке сервер - это Openfire , и компания, которая публикует сервер (с открытым исходным кодом), также имеет службы, помогающие интегрироваться на веб-сайты. На предыдущем веб-сайте, на котором я работал, я установил сервер, но кто-то написал для него клиент на основе флэш-памяти (это проблематично, я бы не стал делать это снова для клиента), но сам сервер работал безупречно с вторые ответы.

Она заменила внутреннюю систему чата на основе AJAX, но с использованием части клиентской базы, использовавшей ее, этот ajax-клиент отвечал за 72% HTTP-обращений к веб-сайту (и без этого мы сделали 700K + обращений /день). Going на основе Jabber удалил их за одну ночь и помог ускорить работу сайта. Система Jabber также может быть увеличена в 10 раз при минимальной дополнительной работе.

1 голос
/ 06 июня 2009

Вы не можете "соединить разных пользователей php вместе". Все это пойдет от user1 к серверу и user2 к серверу. Затем браузер каждого пользователя должен периодически опрашивать новый контент. Когда вы говорите «уровень соединения / сети довольно чужд для меня», у меня складывается впечатление, что вы думаете, что вы можете сделать это без того, чтобы браузеры опрашивали сервер. Ты не можешь Я не использовал phpfreechat, но если у него есть возможность создавать разные комнаты, вы можете проверить его жизнеспособность, настроив уникальные комнаты для каждой пары пользователей.

0 голосов
/ 06 июня 2009

Старый традиционный способ сделать это - открыть страницу, содержащую все сообщения чата. Страница регулярно обновляется браузером пользователя. Но этот способ немного неэффективен, поскольку приводит к мерцанию, перезагрузке всей страницы и проблемам с публикацией.

Другой хороший способ сделать это - использовать Ajax для проверки новых сообщений и их публикации.

Поиск в Google дает хорошие результаты: http://www.phpfreechat.net/

...