full stack javascript developer
0,0
рейтинг
31 мая 2014 в 22:08

Разработка → Вышла версия 1.0 библиотеки Socket.IO

28 мая библиотека для создания приложений реального времени на Node.js Socket.IO доросла до версии 1.0. Socket.IO возникла практически сразу же после появления Node.js и быстро стала одним из самых популярных и востребованных проектов экосистемы Node. Socket.IO реализует коммуникацию сервера и клиента в реальном времени с помощью Web Sockets, а при отсутствии этого API в старых браузерах эмулирует сокеты с помощью других доступных технологий — сокетов Adobe Flash, запросов AJAX или JSONP.

В версии 1.0 окончательно разделены логика работы библиотеки и низкоуровневый движок, реализующий коммуникацию в старых браузерах. Теперь весь код, связанный с этой задачей собран в отдельном модуле Engine.IO. Благодаря этому код Socket.IO стал меньше и чище, упростилось добавление новых видов транспорта, а если разработчик решил положиться только на Web Sockets, то Engine.IO можно вообще не использовать.

Socket.IO теперь поддерживает бинарные потоки данных, причём делает это более гибко, чем Web Sockets — типы Buffer, Blob, ArrayBuffer и даже File можно включать в состав передаваемых структур данных. В оригинальных вебсокетах можно только задавать режим использования сокета — бинарный или символьный.

Среди других изменений — усовершенствованная инфраструктура тестирования, улучшенное масштабирование приложений Socket.IO, интеграция с приложениями, написанными на отличных от JavaScript языках, усовершенствованные средства отладки, изменения в API в сторону упрощения и унификации. Подробнее все отличия версии 1.0 описаны в статье в блоге проекта, посвящённой релизу.

Илья Сименко @ilya42
карма
527,7
рейтинг 0,0
full stack javascript developer

Самое читаемое Разработка

Комментарии (5)

  • +2
    Интересно как в этом релизе обстоят дела с взаимодействием socket.io в рамках кластера из нод. Помнится, в версиях до озвученный выше, это приводило к большому количеству проблем, приводивших к тому что использование socket.io можно было только в single node окружении.

    • 0
      Судя по описанию Engine.IO проблем быть не должно, однако конечно надо посмотреть на практике.
    • +1
      Следил за всем циклом разработки Engine.io и Socket.io 1.0 версии (это длилось больше года), одна из основных причин разделения библиотеки на транспортный «Engine» и прикладной «Socket» уровень как раз для возможности запуска более чем одной ноде.

      Engine.io — рулит транспортами
      Socket.io — рулит данными связанными с конеретным клиентом (не важно по какому транспорту он подключен, см. engine.io)

      Также вынесли в отдельный модуль «Adapter» — это прослойка которая отвечает за хранение и дистрибуцию связанных с сокетом данных. Почти в поставке по умолчанию — это адаптер к редису.
  • +5
    Память кушает в процессе работы по-прежнему?
    • 0
      Ну любит она это дело, любит…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.