Интернет -чаты - это онлайн -платформа для общения с несколькими людьми. Благодаря изобретению и зрелости все более и больше новых технологий, онлайн -чаты также использовали различные технологии. Я хотел бы кратко суммировать эту статью.
Прежде всего, давайте поговорим о технологии фронт-энда. Последним является, конечно, HTML5 WebSocket, который реализует полнодуплексную связь между браузером и сервером. Протокол связи WebSocket был обозначен как стандартный RFC 6455 IETF в 2011 году, а API WebSocket был обозначен как стандарт W3C. В API WebSocket Browser и сервера должны только пожать руку, а затем быстрого канала между браузером и сервером формируется быстрый канал. Данные могут передаваться непосредственно между двумя. Однако, поскольку WebSocket является API HTML5, многие браузеры еще не имеют поддержки, поэтому этот метод сейчас не особенно используется. Второй тип - Ajax. Он принимает метод опроса. Время от времени вы переходите на сервер, чтобы загрузить данные и проверить, обновляется ли он. Его преимущество - асинхронная обработка запросов (также может быть настроена синхронизация) и не будет блокировать другие операции пользователя. Недостатком является то, что непрерывное опрос не только потребляет полосу пропускания, но и занимает слишком много ресурсов терминала и сервера. Более того, поскольку существует интервал времени для опроса Ajax, полученные сообщения не являются в режиме реального времени, потому что это не триггер сообщений, а эффективность Ajax почти самая низкая. Третий тип-это серверная технология Push (COMET). Это называется push, но на самом деле это псевдо -толчок. Принцип состоит в том, чтобы установить длинное соединение между терминалом и сервером. Столь регистрации получает контент, определяя, изменилось ли содержание этого длинного соединения. Его преимущество заключается в том, что он занимает меньше ресурсов и имеет хорошие результаты в реальном времени. Это требует специальной поддержки с сервера и долго занимает соединение. Теперь все больше и больше услуг используют эту технологию.
Давайте поговорим о фоне. Чат -комнаты являются высокими приложениями ввода -вывода, а база данных может быть самой большой узкой местностью. Характерна чата заключается в том, что есть много коротких текстов, похожих на Weibo. Более того, это принадлежит многопользовательской системе. Когда пользователь достигает порядка величины, если используется реляционная база данных, такая как MySQL, давление запроса должно быть очень высоким. Если нет особых требований, я лично считаю, что записи в чате не должны быть навсегда храниться. В настоящее время системы хранения на основе памяти, такие как Memcache и Redis, могут играть роль. Ниже приведена простой онлайн -чат, основанный на AJAX+PHP+Memcache, который я разработал.
В этом чате все записи чата хранятся в Memcache. Максимальный идентификатор записей чата хранится с CID, а записи чата хранятся с помощью MSGCID. Для каждой вставленной записи CID будет увеличиваться на 1. Столь регистрации получает данные формата JSON через AJAX. Поскольку Memcache основан на памяти, общая система работает очень быстро. Ниже приведен исходный код системы. Во всей системе есть только два файла, которые вместе составляют менее 10 КБ.
Wulin.com Скачать
https://github.com/hitoy/online-chatroom
Системные требования:
1. Мемкаш установлен
2. Установите расширение Memcache на PHP
3. Современные браузеры, которые поддерживают JavaScript и Ajax