The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Valve открыла реализацию системы TCP-подобных комму..."
Отправлено opennews, 31-Мрт-18 21:57 
Компания Valve перевела в разряд свободного ПО библиотеку GameNetworkingSockets (https://github.com/ValveSoftware/GameNetworkingSockets) с реализацией системы передачи сообщений поверх UDP, которая может применяться для организации высокоскоростного и надёжного сетевого обмена данными в играх. Код написан на языке С++ и поставляется (https://github.com/ValveSoftware/GameNetworkingSockets) под лицензией BSD.

GameNetworkingSockets реализует поверх UDP похожий на TCP протокол,  обеспечивающий установку соединения, но ориентированный на передачу сообщений вместо потоков. При этом через установленный канал связи сообщения могут передаваться как в режиме гарантированной доставки, так и с использованием режима ненадёжной передачи. Протокол поддерживает такие возможности как обработка фрагментации, упорядочивание пакетов, пересборка пакетов, прогнозирование и ограничение пропускной способности.


Имеется встроенная поддержка шифрования канала связи. Данные в  пакетах шифруются с использованием алгоритма  блочного шифрования AES, а для обмена ключами и проверки сертификатов применяются цифровые подписи базе на эллиптических кривых Ed25519. Механизмы доставки ключей  и выбора вектора инициализации для каждого пакета основаны на методах, применяемых в протоколе QUIC (https://www.opennet.ru/opennews/art.shtml?num=42063).


Кроме библиотеки c реализацией класса SteamNetworkingSockets разработчикам также предложен инструментарий для симуляции потери пакетов и получения детальной статистики. Среди необходимых для сборки зависимостей: OpenSSL,  Google protobuf, ed25519-donna (https://github.com/floodyberry/ed25519-donna), curve25519-donna (https://github.com/agl/curve25519-donna) и ujson (компактный парсер JSON, который уже включен в состав GameNetworkingSockets.


Из планов на будущее называется переработка кода "SNP", который отвечает за инкапсуляцию API-сообщений к UDP-пакеты и выполнение таких операций как фрагментация и персборка слишком больших пакетов, cлияние мелких сообщений и переотправка потерянных фрагментов. В новой реализации появится более продвинутая реализация скользящего окна и полноценная возможность упорядочивания пакетов (сейчас пакет пришедший не по порядку просто отбрасывается). Также планируется уйти от применения специфичных для Steam идентификаторов CSteamID в пользу более универсальной структуры идентификации.


URL: https://www.reddit.com/r/gamedev/comments/88f08i/valves_game.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=48371

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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