YASIO - Y และไลบรารี Socket I / O อื่น
ภาษาอังกฤษ
Yasio เป็นไลบรารีเครือข่ายแบบอะซิงโครนัสข้ามแพลตฟอร์มที่เน้นไปที่ไคลเอนต์และบริการเครือข่ายไคลเอนต์เกมโดยใช้เอ็นจิ้นเกมต่างๆ รองรับ windows, macos, ios, android, ohos, linux, freebsd และระบบปฏิบัติการอื่น ๆ
แพลตฟอร์มการสนับสนุน
สร้าง | สถานะ (github) |
---|
Windows(msvc,เสียงดังกราว,mingw) | |
วินโดวส์ (เทียบกับ 2013) | |
หุ่นยนต์ | |
iOS/tvOS/watchOS | |
ลินุกซ์ | |
ระบบปฏิบัติการ macOS | |
ฟรีBSD | |
โซลาริส | |
กรณีสมัคร
- Idle Girl (HD): ใช้สำหรับการส่งผ่านเครือข่ายไคลเอนต์ cocos และ unity remastered
- โปรเจ็กต์เกมมือถือ Red Alert OL: ใช้สำหรับการส่งสัญญาณผ่านเครือข่ายไคลเอนต์ และทำงานอย่างเสถียรบนอุปกรณ์พกพาหลายสิบล้านเครื่องนับตั้งแต่เปิดตัวโปรเจ็กต์อย่างเป็นทางการโดย Tencent Games เมื่อวันที่ 17 ตุลาคม 2018
- โครงการซอฟต์แวร์ x-studio: โซลูชันเครือข่าย
- QttAudio: โซลูชันการรวมการแชทด้วยเสียงเป็นไมโครโฟน
กรณีบูรณาการ
- ความสามัคคี
- yasio_unity: แพ็คเกจ C# บริสุทธิ์ของ Unity เพียงเปิดฉาก
SampleScene
แล้วเรียกใช้ - xlua: รวม yasio เข้ากับ xlua เปิดฉาก
U3DScripting
แล้วเรียกใช้
- UnrealEngine
- yasio_unreal: ปลั๊กอิน UnrealEngine สำหรับ yasio
- sluaunreal: บูรณาการเข้ากับ sluaunreal ของ Tencent
- UnLua: UnLua บูรณาการเข้ากับ Tencent
- axmol: โซลูชันเครือข่ายเป็นเอ็นจิ้นเกม
axmol
เอกสาร
- https://yasio.github.io/yasio
ใช้ g++ เพื่อรันโปรแกรมทดสอบ tcptest อย่างรวดเร็ว
g++ tests/tcp/main.cpp --std=c++11 -DYASIO_HEADER_ONLY -lpthread -I./ -o tcptest && ./tcptest
ใช้ CMake เพื่อรวบรวมโปรแกรมทดสอบ yasio และโปรแกรมตัวอย่าง
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打开
ลักษณะ:
- รองรับการส่งข้อมูล TCP, UDP และ KCP และ API เป็นหนึ่งเดียว
- รองรับการประมวลผลแพ็กเก็ตเหนียว TCP ดังนั้นธุรกิจจึงไม่จำเป็นต้องกังวลเรื่องนี้เลย
- รองรับมัลติคาสต์
- รองรับเครือข่าย IPv4/IPv6 หรือ Apple IPv6_only
- รองรับการจัดการกิจกรรมเครือข่ายทั้งหมดสำหรับการเชื่อมต่อที่หลากหลาย
- รองรับการจับเวลาระดับไมโครวินาที
- รองรับการผูก Lua
- รองรับการรวม Cocos2d-x jsb
- รองรับการรวม CocosCreator jsb2.0
- รองรับ Unity3D
- รองรับ Unreal Engine
- รองรับไคลเอนต์/เซิร์ฟเวอร์ SSL บนพื้นฐานของ OpenSSL/MbedTLS
- รองรับการแก้ไขชื่อโดเมนแบบไม่ปิดกั้น โดยยึดตาม c-ares
- รองรับโหมดการรวม Header Only เพียงกำหนดมาโครตัวประมวลผลล่วงหน้าการคอมไพล์
YASIO_HEAD_ONLY=1
- รองรับซ็อกเก็ตโดเมน Unix
- รองรับการอ่านและการเขียนแบบไบนารี และคลาสเครื่องมือทั้งสองคลาส obstream/ibstream นั้นสะดวกต่อการใช้งานมาก
- รองรับวิธีการเข้ารหัสการบีบอัดจำนวนเต็มเข้ากันได้กับ .net: 7Bit Encoded Int/Int64
ประมาณ C++14/17/20
yasio จัดเตรียมส่วนประกอบไลบรารีมาตรฐาน C++14/17/20 ต่อไปนี้ที่สามารถใช้ได้ภายใต้คอมไพเลอร์ C++11 โปรดตรวจสอบ 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_vector
เกี่ยวกับไลบรารีที่คอมไพล์แล้วของ OpenSSL (Windows)
สคริปต์ cmake ของ Yasio เลือก OpenSSL เป็นไลบรารีสนับสนุน SSL ตามค่าเริ่มต้น และจะดาวน์โหลดโดยอัตโนมัติจาก 1kiss ไลบรารีที่คอมไพล์แล้วถูกคอมไพล์โดยใช้ VS2022(MSVC-14.39)
หากเวอร์ชันนี้ไม่ได้ติดตั้งบนระบบของคุณ โปรดส่งพารามิเตอร์ CMake -DYASIO_SSL_BACKEND=2
ตัวอย่างเช่น -DYASIO_SSL_BACKEND=2
ใช้สคริปต์การคอมไพล์ข้ามแพลตฟอร์ม build.ps1
ในคลิกเดียวที่จัดทำโดยโปรเจ็กต์
powershell build.ps1 -p win32 -a x64 -xc " -DYASIO_SSL_BACKEND=2 "
แผนภาพเฟรม
กลุ่มสื่อสารคิวคิว
คลิกเพื่อเข้าร่วม: 829884294