The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

30.06.2017 23:56

Разработчики из сообщества 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.

  1. Главная ссылка к новости (https://hacks.mozilla.org/2017...)
  2. OpenNews: План развития в Firefox технологий, необходимых для разработки компьютерных игр
  3. OpenNews: Проект Mozilla ввёл в строй сервис TogetherJS для совместной работы над контентом
  4. OpenNews: Проект Mozilla TowTruck позволяет интегрировать средства для совместной работы на любой сайт
  5. OpenNews: Представлен встраиваемый на сайты видеочат на базе P2P-технологий и WebRTC
  6. OpenNews: WebRTC позволяет узнать внутренний IP-адрес пользователя
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/46793-humblenet
Ключевые слова: humblenet, websocket, webrtc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (15) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 00:40, 01/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > mozila, c++

    Почему не раст?

     
     
  • 2.3, Crazy Alex (ok), 01:12, 01/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А они для раста вообще компиляцию а asm.js/webassembly сделали?

    Но вообще очевидный ответ - потому что это библиотека, которая должна быть пригодна для использования всем подряд, а не только софтом на расте.

     
     
  • 3.4, nazarpc (?), 01:20, 01/07/2017 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Я вас, наверное, удивлю, но код на Rust можно использовать с C++, как и наоборот.
     
     
  • 4.6, Crazy Alex (ok), 04:21, 01/07/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А на C или ещё чём? В плюсах-то никаких проблем сделать библиотеку с сишным интерфейсом, и после этого её можно будет использовать откуда угодно. Может и на расте можно, я правда не знаю.
     
  • 3.23, Какоетоесть (?), 23:24, 10/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Сделали
    rustup target add wasm32-unknown-emscripten
     
  • 2.16, Аноним (-), 17:42, 01/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что библиотека на расте не будет никому нужна кроме пары альтернативных. А задача мозиллы — подсадить на свои решения как можно больше народу. Вот когда пользовательская база станет как у файрфокса и пользователям будет некуда деваться, тогда и можно будет начать переписывать куски на всякой экзотике типа раста, окамла, хаскеля и подобных.
     

  • 1.5, qsdg (ok), 02:30, 01/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чую, что в будущем это будет основным применением WebSocket. Так же как XMLHttpRequest задумывался для одного, а сейчас используется для всего. Да и с теми же Cookies та же история.
     
     
  • 2.7, Crazy Alex (ok), 04:22, 01/07/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Насколько я понимаю, собственно вебсокеты там глубоко вторичны. А если "основным применением" WebRTC станет поддержка p2p-взаимодействия в чём попало - я лично не удивлюсь ни разу, сейчас идиотские решения в моде.
     

  • 1.8, YetAnotherOnanym (ok), 08:36, 01/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Создатели ботнетов одобряют.
     
  • 1.9, Аноним (-), 09:10, 01/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ну, осталось запилить майнер биткоинов в браузере, тогда кто-то ух как заживет!
     
  • 1.11, Аноним (-), 12:18, 01/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Это чтобы облегчить подставному JS-коду обходить TOR.
     
     
  • 2.17, Аноним (-), 22:14, 01/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в торе, вроде, webrtc отключен
     

  • 1.18, Виталий (??), 22:12, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Почему не gpl?
     
  • 1.20, annual slayer (?), 18:31, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    немного напомнило hamaachi
     
  • 1.22, iZEN (ok), 11:20, 08/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новое поколение хипстеров переизобрело Java RMI.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру