YASIO - Yet Another asynchronous Socket I/O.
yasio is a multi-platform support and lightweight library with focus on asynchronous socket I/O for any client application, support windows & linux & apple & android & win10-universal.
- RAOL Mobile Game Project: Since the game is published on Tencent Games at 2018.10.17, it’s run at millions of devices.
- x-studio IDE Project: The local LAN upgrade system is based on yasio.
- xlua: Integrate yasio to xlua, make the unity3d game project based on xlua can use yasio lua bindings APIs.
- Unreal Engine 4: Integrate yasio to unreal engine 4, make the ue4 game project yasio, lua will complete in the future, may based on Tencent’s UnLua.
Simple run tcptest with g++
g++ tests/tcp/main.cpp --std=c++11 -DYASIO_HEADER_ONLY -lpthread -I./ -o tcptest && ./tcptest
Build more examples with cmake
git clone https://github.com/yasio/yasio cd yasio git submodule update --init --recursive cd build # For macOS xcode, it's shoud be cmake .. -GXcode cmake .. # Use cmake command to build examples & tests, # or open yasio.sln with visual studio(2013~2019 supported) at win32 platform cmake --build . --config Debug
- Same API to manipulate transport with TCP, UDP, KCP.
- Support IPv4/IPv6 network
- Support multi-connections at one thread
- Support high-resolution deadline timer
- Support unpack tcp packet internal, user do not need to care it
- Support lua bindings
- Support cocos2d-x jsb
- Support CocosCreator jsb2.0
- Support Unity3D
- Support Unreal Engine 4
- Support multicast
- Support ssl client with openssl
- Support async resolve with c-ares
- Support header only with YASIO_HEAD_ONLY=1 set at config.hpp or compiler flags