YASIO - Oui et une autre bibliothèque Socket I / O .
Anglais
Yasio est une bibliothèque réseau asynchrone multiplateforme légère qui se concentre sur les clients et les services réseau de clients de jeu basés sur divers moteurs de jeu. Elle prend en charge Windows, Macos, iOS, Android, ohos, Linux, freebsd et d'autres systèmes d'exploitation de type Unix.
Plateforme d'assistance
Construire | Statut (github) |
---|
Windows (msvc, clang, mingw) | |
Windows (vs 2013) | |
Androïde | |
iOS/tvOS/watchOS | |
Linux | |
macOS | |
GratuitBSD | |
Solaris | |
Cas de candidature
- Idle Girl (HD) : utilisé pour la transmission réseau client remasterisé Cocos et Unity.
- Projet de jeu mobile Red Alert OL : utilisé pour la transmission sur le réseau client et fonctionne de manière stable sur des dizaines de millions d'appareils mobiles depuis le lancement officiel du projet par Tencent Games le 17 octobre 2018.
- Projet logiciel x-studio : solution réseau.
- QttAudio : solution d'intégration de chat voix-micro.
Cas d'intégration
- Unité
- yasio_unity : package Unity pur C#, ouvrez simplement la scène
SampleScene
et exécutez-la. - xlua : Intégrez yasio dans xlua, ouvrez la scène
U3DScripting
et exécutez-la.
- Moteur irréel
- yasio_unreal : plug-in UnrealEngine pour yasio.
- sluaunreal : intégré au sluaunreal de Tencent.
- UnLua : UnLua intégré à Tencent.
- axmol : Solution réseau comme moteur de jeu
axmol
.
document
- https://yasio.github.io/yasio
Utilisez g++ pour exécuter rapidement le programme de test tcptest
g++ tests/tcp/main.cpp --std=c++11 -DYASIO_HEADER_ONLY -lpthread -I./ -o tcptest && ./tcptest
Utilisez CMake pour compiler des programmes de test Yasio et des exemples de programmes
git clone --recursive https://github.com/yasio/yasio
cd yasio
# 如果是 macOS Xcode, 这里命令应该换成:cmake -B build -GXcode
cmake -B build
# 使用CMake命令行编译, 如果需要调试,则使用相应平台IDE打开即可:
# a. Windows:使用VisualStudio打开build/yasio.sln
# b. macOS:使用Xcode打开build/yasio.xcodeproj
cmake --build build --config Debug
# # 者直接用VS打开
caractéristiques:
- Prend en charge la transmission TCP, UDP et KCP, et l'API est unifiée.
- Prend en charge le traitement des paquets persistants TCP, de sorte que l'entreprise n'a pas du tout besoin de s'en soucier.
- Prise en charge de la multidiffusion.
- Prend en charge les réseaux IPv4/IPv6 ou Apple IPv6_only.
- Prend en charge la gestion de tous les événements réseau pour plusieurs connexions.
- Prise en charge de la minuterie microseconde.
- Prend en charge la liaison Lua.
- Prise en charge de la liaison jsb Cocos2d-x.
- Prise en charge de la liaison CocosCreator jsb2.0.
- Supporte Unity3D.
- Prend en charge le moteur Unreal.
- Prend en charge le client/serveur SSL, basé sur OpenSSL/MbedTLS.
- Prend en charge la résolution de nom de domaine non bloquante, basée sur c-ares.
- Prend en charge le mode d'intégration Header Only, il suffit de définir la macro du préprocesseur de compilation
YASIO_HEAD_ONLY=1
. - Prend en charge le socket de domaine Unix.
- Prend en charge la lecture et l'écriture binaires, et les deux classes d'outils obstream/ibstream sont très pratiques à utiliser.
- Prend en charge la méthode de codage par compression entière compatible avec .net : 7Bit Encoded Int/Int64 .
À propos de C++14/17/20
yasio fournit les composants de bibliothèque standard C++14/17/20 suivants qui peuvent être utilisés sous le compilateur C++11. Veuillez vérifier yasio/string_view.hpp, yasio/shared_mutex.hpp, yasio/memory.hpp.
- cxx14 ::make_unique
- cxx17 ::string_view
- cxx17 ::shared_mutex
- cxx20 ::starts_with
- cxx20 ::ends_with
- yasio ::byte_buffer
- yasio::pod_vecteur
À propos des bibliothèques précompilées OpenSSL (Windows)
Le script cmake de Yasio sélectionne OpenSSL comme bibliothèque de support SSL par défaut et la téléchargera automatiquement à partir de 1kiss. La bibliothèque précompilée est compilée à l'aide de VS2022(MSVC-14.39)
. Si cette version n'est pas installée sur votre système, veuillez transmettre le paramètre CMake -DYASIO_SSL_BACKEND=2
, par exemple, utilisez le script de compilation multiplateforme en un clic build.ps1
fourni par le projet
powershell build.ps1 -p win32 -a x64 -xc " -DYASIO_SSL_BACKEND=2 "
diagramme de cadre
Groupe de communication QQ
Cliquez pour rejoindre : 829884294