Разница между использованием сокетного соединения и обычным PHP / MySQL / Ajax при создании чата - PullRequest
0 голосов
/ 22 января 2012

Что я хотел бы знать, так это то, насколько это важно, если я пытаюсь создать приложение для чата, используя обычные соединения PHP / MySQL / Ajax и сокеты, которые обычно используют XMPP или другие протоколы.Пожалуйста, дайте мне знать, чтобы я мог следовать правильному и более быстрому способу создания приложения для чата.

Ответы [ 2 ]

1 голос
/ 30 января 2012

Вы можете использовать AJAX для получения сообщений от веб-сервера в определенный промежуток времени. Это приводит к новому соединению для каждого запроса и, таким образом, занимает много времени, так как установление нового соединения является трудоемким процессом. Если вы используете XMPP (который является стандартным протоколом для реализации мгновенных сообщений), то вы постоянно подключены к серверу и, таким образом, вы можете в режиме реального времени отправлять и получать сообщения с сервера.

Однако, если ваши клиенты будут использовать веб-браузер для связи с вашим сервером, а не с вашим собственным приложением, у вас нет другого выбора, кроме как творчески использовать AJAX, чтобы соединения продолжались как можно дольше и ваши пользователи чувствовали себя минимально отставание в их чатах.

1 голос
/ 22 января 2012

При использовании PHP в качестве Apache-модуля или fastcgi не рекомендуется использовать длительное соединение с сокетом, так как это быстро израсходует ресурсы сервера.

Вообще говоря, сокетное соединение превосходно: вы можете мгновенно отправлять данные клиенту или наоборот.
Обычный AJAX-запрос также требует дополнительных затрат при создании нового соединения TCP / Ip и отправке заголовков HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...