Вышла версия 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 описаны в статье в блоге проекта, посвящённой релизу.

    • +35
    • 11,1k
    • 5
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 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
            Ну любит она это дело, любит…

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