Первый выпуск сетевой библиотеки HumbleNet, поддерживающей работу в браузере

2 месяца ago admin 0

Разработчики из сообщества Mozilla представили первый релиз проекта HumbleNet, в рамках которого развивается кроссплатформенная сетевая библиотека, а также необходимые для её работы серверные компоненты (peer-server). Библиотека предоставляет простой C API для создания сетевых приложений, но для обработки сетевых соединений использует протоколы WebRTC и WebSockets, что позволяет применять её не только на традиционных системах, таких как Windows, macOS и Linux, но и в web-браузере с задействованием Asm.js и WebAssembly. Код библиотеки написан на языке С++ (для компиляции в Asm.js и WebAssembly при меняется Emscripten) и поставляется под лицензией BSD.

Изначально проект был создан в рамках инициативы Humble Bundle и нацелен на организацию сетевого взаимодействия в многоплатформенных играх, которые выпускаются не только для стационарных систем, но и в виде web-приложений. Разработчикам предоставляется P2P API для обнаружения узлов (peer) и отправки им данных. Канал связи создаётся при помощи WebRTC поверх UDP, что позволяет организовать прямое сетевое взаимодействия между приложениями, без необходимости трансляции трафика чрез централизованный сервер.

При этом серверный компонент требуется лишь для развёртывания сервиса обнаружения узлов, взаимодействие с которым осуществляется через соединение при помощи WebSocket. Использование UDP позволяет применять HumbleNet для координации работы клиентов в многопользовательских играх, требующих минимальных задержек в доставке пакетов. В том числе на HumbleNet уже переведены браузерные порты таких игр, как Quake 2 и Quake 3, а также демонстрационные приложения на базе движка Unity3D.


Source: pirates.in.ua