Разработчики из сообщества Mozilla представили (https://hacks.mozilla.org/2017/06/introducing-humblenet-a-cr.../) первый релиз проекта HumbleNet (https://humblenet.github.io/), в рамках которого развивается кроссплатформенная сетевая библиотека, а также необходимые для её работы серверные компоненты (peer-server). Библиотека предоставляет простой C API для создания сетевых приложений, но для обработки сетевых соединений использует протоколы WebRTC и WebSockets, что позволяет применять её не только на традиционных системах, таких как Windows, macOS и Linux, но и в web-браузере с задействованием Asm.js и WebAssembly. Код библиотеки написан на языке С++ (для компиляции в Asm.js и WebAssembly при меняется Emscripten) и поставляется (https://github.com/HumbleNet/HumbleNet) под лицензией BSD.
Изначально проект был создан в рамках инициативы Humble Bundle и нацелен на организацию сетевого взаимодействия в многоплатформенных играх, которые выпускаются не только для стационарных систем, но и в виде web-приложений. Разработчикам предоставляется P2P API для обнаружения узлов (peer) и отправки им данных. Канал связи создаётся при помощи WebRTC поверх UDP, что позволяет организовать прямое сетевое взаимодействия между приложениями, без необходимости трансляции трафика чрез централизованный сервер.При этом серверный компонент требуется лишь для развёртывания сервиса обнаружения узлов, взаимодействие с которым осуществляется через соединение при помощи WebSocket. Использование UDP позволяет применять HumbleNet для координации работы клиентов в многопользовательских играх, требующих минимальных задержек в доставке пакетов. В том числе на HumbleNet уже переведены браузерные порты таких игр, как Quake 2 и Quake 3, а также демонстрационные приложения на базе движка Unity3D.
URL: https://hacks.mozilla.org/2017/06/introducing-humblenet-a-cr.../
Новость: http://www.opennet.me/opennews/art.shtml?num=46793
> mozila, c++Почему не раст?
А они для раста вообще компиляцию а asm.js/webassembly сделали?Но вообще очевидный ответ - потому что это библиотека, которая должна быть пригодна для использования всем подряд, а не только софтом на расте.
Я вас, наверное, удивлю, но код на Rust можно использовать с C++, как и наоборот.
А на C или ещё чём? В плюсах-то никаких проблем сделать библиотеку с сишным интерфейсом, и после этого её можно будет использовать откуда угодно. Может и на расте можно, я правда не знаю.
Сделали
rustup target add wasm32-unknown-emscripten
Потому что библиотека на расте не будет никому нужна кроме пары альтернативных. А задача мозиллы — подсадить на свои решения как можно больше народу. Вот когда пользовательская база станет как у файрфокса и пользователям будет некуда деваться, тогда и можно будет начать переписывать куски на всякой экзотике типа раста, окамла, хаскеля и подобных.
Чую, что в будущем это будет основным применением WebSocket. Так же как XMLHttpRequest задумывался для одного, а сейчас используется для всего. Да и с теми же Cookies та же история.
Насколько я понимаю, собственно вебсокеты там глубоко вторичны. А если "основным применением" WebRTC станет поддержка p2p-взаимодействия в чём попало - я лично не удивлюсь ни разу, сейчас идиотские решения в моде.
Создатели ботнетов одобряют.
Ну, осталось запилить майнер биткоинов в браузере, тогда кто-то ух как заживет!
Это чтобы облегчить подставному JS-коду обходить TOR.
в торе, вроде, webrtc отключен
Почему не gpl?
немного напомнило hamaachi
Новое поколение хипстеров переизобрело Java RMI.