YASIO - Y dan perpustakaan Socket I / O lainnya.
Bahasa inggris
Yasio adalah pustaka jaringan asinkron lintas platform ringan yang berfokus pada klien dan layanan jaringan klien game berdasarkan berbagai mesin game. Mendukung windows, macos, ios, android, ohos, linux, freebsd, dan sistem operasi mirip unix lainnya.
Platform pendukung
Membangun | Status (github) |
---|
Windows (msvc, dentang, mingw) | |
Windows (vs2013) | |
Android | |
iOS/tvOS/watchOS | |
Linux | |
macOS | |
FreeBSD | |
Solaris | |
Kasus aplikasi
- Idle Girl (HD): digunakan untuk transmisi jaringan klien cocos dan unity remaster.
- Proyek game seluler Red Alert OL: digunakan untuk transmisi jaringan klien, dan telah berjalan secara stabil di puluhan juta perangkat seluler sejak proyek tersebut diluncurkan secara resmi oleh Tencent Games pada 17 Oktober 2018.
- proyek perangkat lunak x-studio: solusi jaringan.
- QttAudio: solusi integrasi obrolan suara ke mikrofon.
Kasus integrasi
- Persatuan
- yasio_unity: Paket C# murni Unity, cukup buka
SampleScene
adegan dan jalankan. - xlua: Integrasikan yasio ke xlua, buka adegan
U3DScripting
dan jalankan.
- Mesin Tidak Nyata
- yasio_unreal: Plugin UnrealEngine untuk yasio.
- sluaunreal: Terintegrasi ke dalam sluaunreal Tencent.
- UnLua: UnLua terintegrasi ke dalam Tencent.
- axmol: Solusi jaringan sebagai mesin permainan
axmol
.
dokumen
- https://yasio.github.io/yasio
Gunakan g++ untuk menjalankan program pengujian tcptest dengan cepat
g++ tests/tcp/main.cpp --std=c++11 -DYASIO_HEADER_ONLY -lpthread -I./ -o tcptest && ./tcptest
Gunakan CMake untuk mengkompilasi program pengujian yasio dan program sampel
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打开
ciri:
- Mendukung transmisi TCP, UDP, dan KCP, dan API disatukan.
- Mendukung pemrosesan paket lengket TCP, sehingga bisnis tidak perlu khawatir sama sekali.
- Mendukung multicast.
- Mendukung jaringan IPv4/IPv6 atau Apple IPv6_only.
- Mendukung penanganan semua peristiwa jaringan untuk banyak koneksi.
- Mendukung pengatur waktu mikrodetik.
- Mendukung pengikatan Lua.
- Mendukung pengikatan jsb Cocos2d-x.
- Mendukung pengikatan CocosCreator jsb2.0.
- Mendukung Unity3D.
- Mendukung Mesin Unreal.
- Mendukung klien/server SSL, berdasarkan OpenSSL/MbedTLS.
- Mendukung resolusi nama domain non-pemblokiran, berdasarkan c-ares.
- Mendukung mode integrasi Header Saja, cukup tentukan makro praprosesor kompilasi
YASIO_HEAD_ONLY=1
. - Mendukung Soket Domain Unix.
- Mendukung pembacaan dan penulisan biner, dan dua kelas alat obstream/ibstream sangat nyaman digunakan.
- Mendukung metode pengkodean kompresi bilangan bulat yang kompatibel dengan .net: 7Bit Encoded Int/Int64 .
Tentang C++14/17/20
yasio menyediakan komponen pustaka standar C++14/17/20 berikut yang dapat digunakan di bawah kompiler C++11. Silakan periksa yasio/string_view.hpp, yasio/shared_mutex.hpp, yasio/memory.hpp
- cxx14::membuat_unik
- cxx17::string_view
- cxx17::shared_mutex
- cxx20::mulai_dengan
- cxx20::berakhir_dengan
- yasio::byte_buffer
- yasio::pod_vector
Tentang pustaka OpenSSL yang telah dikompilasi (Windows)
Skrip cmake Yasio memilih OpenSSL sebagai pustaka dukungan SSL secara default dan secara otomatis akan -DYASIO_SSL_BACKEND=2
dari 1kiss. Pustaka yang telah dikompilasi dikompilasi menggunakan VS2022(MSVC-14.39)
. -DYASIO_SSL_BACKEND=2
, misalnya, gunakan skrip kompilasi satu-klik lintas platform build.ps1
yang disediakan oleh proyek
powershell build.ps1 -p win32 -a x64 -xc " -DYASIO_SSL_BACKEND=2 "
diagram bingkai
Grup komunikasi QQ
Klik untuk bergabung: 829884294