Статьи

Как использовать WebSockets сегодня с Pusher

В недавней статье Брайана Рэймора о SitePoint, WebSockets: Stable and Ready для разработчиков, представлен потрясающий обзор этой технологии. По сути, WebSockets разрешают асинхронную двунаправленную связь между клиентом и сервером. Соединение остается открытым, поэтому легкие сообщения можно отправлять с любого устройства в любое время. Это идеальное решение для чатов и игр в реальном времени, и, вероятно, оно будет более эффективным, чем опрос Ajax.

Тем не менее, есть несколько недостатков:

  • Технология WebSocket является относительно новой и на момент написания статьи она полностью поддерживается только Firefox и Chrome.
  • Даже если ваш браузер поддерживает WebSockets, нет гарантии, что он будет изначально поддерживаться вашей серверной платформой.

Стабильно и готово? Возможно, еще нет.

К счастью, есть еще один вариант, если вы отчаянно хотите использовать технологию WebSocket сегодня. Pusher — это новый сервис, который устраняет пробелы в реализации WebSocket:

  • Pusher — это прокси-сервис, который находится между вашими клиентами и сервером.
  • На клиенте Pusher предоставляет ряд библиотек WebSocket для JavaScript, iOS, Android, Flash, .NET, Silverlight, Ruby и Arduino.
  • Если вы используете браузер, который не поддерживает встроенную поддержку, библиотека JavaScript автоматически импортирует оболочку на основе Flash, в которой реализована технология WebSocket для IE6–9, Chrome 1–4, Firefox 1–3, Safari 1–4, Opera. и Android.
  • На сервере Pusher предоставляет ряд библиотек WebSocket для PHP (общие и базовые параметры), Ruby, ASP.NET (C # и VB.NET), Python, Node.js, Java, Groovy / Grails, Clojure, Coldfusion и Perl. ,
  • Если вы предпочитаете не использовать API WebSocket для запуска событий сервера, вы можете использовать REST API Pusher .

Весь процесс очень прост. Как только вы зарегистрируетесь для учетной записи Pusher , вы получите ключ API. Ваша HTML5-страница включает библиотеку JavaScript, устанавливает соединение и подписывается на указанный канал:


<script src="http://js.pusher.com/1.11/pusher.min.js"></script>
<script>
var pusher = new Pusher("YOUR-PUSHER-API-KEY");
var channel = pusher.subscribe("my-channel");

Затем вы можете определить обратные вызовы, которые связываются с событиями, поступающими через сокет Pusher:

 
channel.bind("my-event", function(data) {
	alert("An event was triggered with message: " + data.message);
});

Чтобы отправить сообщение из PHP:

 
require('Pusher.php');
$pusher = new Pusher($key, $secret, $app_id);
$pusher->trigger( 'my-channel', 'my-event', array('message' => 'hello world') );

На веб-сайте Pusher представлена полная документация , подборка учебных пособий по PHP и Ruby, а также демонстрация тематических исследований, которые могут вдохновить ваше следующее потрясающее приложение в реальном времени.

Мне нравится концепция Pusher. Это отличное решение, если вы хотите попробовать WebSockets сегодня, поддерживая большинство браузеров и платформ с собственными ОС. Существуют бесплатные планы для экспериментальных прототипов, а также платные аккаунты для более интенсивного использования.

Для получения дополнительной информации обратитесь к Pusher.com .