1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/344453111-java-Kcp

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.en.md

Kcp на основе netty (включая реализацию функции fec)

KCP — это быстрый и надёжный протокол (rudp) на базе udp, который может сократить среднюю задержку на 30–40 % ценой потери 10–20 % пропускной способности по сравнению с TCP и уменьшить максимальную задержку в три раза по сравнению с передачей данных.

Репозиторий maven:

<dependency>
  <groupId>com.github.l42111996</groupId>
  <artifactId>kcp-base</artifactId>
  <version>1.6</version>
</dependency>

Использование метода и параметров:

  1. Пример серверной стороны: https://github.com/l42111996/java-Kcp/blob/master/kcp-example/src/main/java/test/KcpRttExampleServer.java.
  2. Пример клиентской стороны: https://github.com/l42111996/java-Kcp/blob/master/kcp-example/src/main/java/test/KcpRttExampleClient.java.
  3. Лучшие практики: https://github.com/skywind3000/kcp/wiki/KCP-Best-Practice.
  4. Много информации: https://github.com/skywind3000/kcp.
  5. Совместимость с C #, java-сервером: https://github.com/l42111996/java-Kcp/blob/master/kcp-example/src/main/java/test/Kcp4sharpExampleServer.java, c #-клиентом: https://github.com/l42111996/csharp-kcp/blob/master/example-Kcp/KcpRttExampleClient.cs.
  6. Встреченные проблемы: https://github.com/l42111996/java-Kcp/blob/master/QA.md.
  7. Результаты тестов производительности: https://github.com/l42111996/java-Kcp/blob/master/Benchmark.md.
  8. Совместимость с kcp-go, включая совместимость с fec: https://github.com/l42111996/java-Kcp/blob/master/kcp-example/src/main/java/test/Kcp4GoExampleClient.java.

Совместимость:

  1. Совместим с версией kcp для C.
  2. Реализация fec на основе https://github.com/Backblaze/JavaReedSolomon.
  3. Идеальная совместимость с версией для C#, https://github.com/l42111996/csharp-kcp, быстрое создание сетевой библиотеки перед игрой.

Оптимизация:

  1. На основе событийного подхода, полностью использует многоядерность.
  2. Оптимизирует логику fastack и сокращает трафик на 10 %.
  3. Оптимизирует функцию проверки.
  4. Оптимизирует итераторы коллекций.
  5. Включает fec для уменьшения задержки.
  6. С проверкой crc32.
  7. Использует колесо времени для оптимизации использования ЦП при большом количестве подключений.
  8. Использует directbuf и пул объектов, нет давления gc.
  9. Увеличивает использование conv или ip + порт для определения уникальности канала. В играх рекомендуется использовать конфигурацию conv и tcp. [Дополнительная информация]: https://github.com/skywind3000/kcp/wiki/Cooperate-With-Tcp-Server.
  10. Изменения в экспорте ip, такие как переключение 4G wifi при добавлении игр, не вызовут отключения.

Соответствующая информация:

  1. https://github.com/skywind3000/kcp — оригинальная версия kcp от ccp.
  2. https://github.com/xtaci/kcp-go — версия kcp для go, с множеством оптимизаций.
  3. https://github.com/Backblaze/JavaReedSolomon — версия fec для java.
  4. https://github.com/LMAX-Exchange/disruptor — высокопроизводительная межпотоковая библиотека обмена сообщениями.
  5. https://github.com/JCTools/JCTools — эффективная параллельная библиотека.
  6. https://github.com/szhnet/kcp-netty — версия kcp для java на основе kcp-netty.
  7. https://github.com/l42111996/csharp-kcp — версия kcp для C# на основе dotNetty, идеально совместима.

Контакты: QQ: 526167774.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/344453111-java-Kcp.git
git@api.gitlife.ru:oschina-mirror/344453111-java-Kcp.git
oschina-mirror
344453111-java-Kcp
344453111-java-Kcp
master