Разработка

Интеграция WebSocket в Joomla!

Joomla
Добавление в избранное
Сохранить

Интеграция WebSocket в Joomla!

Целью этой статьи является представление технологии WebSocket, которая есть в последних технических характеристиках HTML5. Она дает возможность использовать клиент с более скоростной передачей данных и динамическим сервером передачи данных.

Вот, что сказано в Википедии о WebSocket:

«WebSocket – это технология, предусматривающая двунаправленный, дуплексный канал связи, по одному сокету TCP. Она предназначена для применения в веб-браузерах и веб-серверах, но может быть использована в любом клиенте или серверном приложении.»

Чтобы лучше понять область применения WebSocket, нужно сначала разобраться, как сегодня работает сеть интернет: при загрузке сайта, отправке формы, щелчке по ссылке и т.д., браузер посылает запрос на веб-сервер, который отвечает за эти действия и присылает ответ. (Опрос)

Интеграция WebSocket в Joomla!

У нас есть соединение, использующее WebSocket, откуда клиент посылает единственную петицию под названием «рукопожатие», где напрямую создается двунаправленная связь. (WebSockets)

Это открывает новые возможности для разработки, например, финансовых систем, медицинских приложений и любых приложений, требующих соединения в реальном времени.

Как же это использовать?

С одной стороны, у нас есть клиент, с другой – сервер. В настоящее время существуют несколько серверов разработки WebSocket, например:

Платформа Joomla!  дает возможность использовать библиотеку с помощью командной строки, и таким образом, мы сможем создать свой собственный сервер WebSocket.

Для того, чтобы создать свой сервер WebSocket на PHP с помощью Joomla!, вам понадобятся специальные классы и объекты, использующие сокеты. Эти объекты не включены в официальный пакет Joomla!, поэтому я создал новую библиотеку, основываясь на работе Эндрю Эдди по WebSocket для Joomla!, описывающую управление конфигурированием и работу сервера WebSocket.

Библиотеки можно скачать отсюда: https://github.com/fastslack/joomla-platform/tree/sockets/libraries/joomla/socket

Установка сервера WebSocket

mkdir websocket_example, cd websocket_example
git clone -b sockets git://github.com/fastslack/joomla-platform.git
git clone git://github.com/fastslack/websocket-example.git
cd websocket-example
configuration.dist.php cp configuration.php

После этого, отредактируйте файл configuration.php и пропишите в нем доступ к данным MySQL сервера.

Запуск сервера

Теперь осталось запустить сервер, чтобы начать процесс:

$ cd cli
$. /websocket_example
Starting server ...

 

Проверка соединения сервера WebSocket

Как только мы запустили сервер WebSocket, устанавливаем и настраиваем com_websockets - сокеты, через которые клиент подключается к серверу. В этот компонент входят необходимые файлы javascript (*. js). В этой статье мы не пытались создать компонент для Joomla! - для этого на просторах интернета есть много руководств. Я предлагаю скачать и протестировать готовый к использованию компонент.

Выводы

WebSocket обещает стать хорошей платформой для долгожданной «двунаправленной передачи» в HTTP и HTML, что обеспечит сокращение передаваемых данных и предоставит инструменты для создания более быстрых и динамичных соединений в реальном времени. Если добавить к этому различные функции, работающие в библиотеке Joomla!, то можно увидеть довольно широкие перспективы.

Автор оригинального изображения к статье - David Walsh.

Оригинальная статья: Matias Aguirre
Katerina Vorobyova
Переводчик, IT любитель, фотомодель.

Подпишитесь на рассылку новостей CMScafe