【mini-asio】 轻量级夸平台底层客户端网络解决方案

特性:
1.独立线程处理收发
2.屏蔽TCP拆包逻辑
3.支持UDP
4.方便集成Cocos2d-x/Lua
5.软件模拟中断器,实时响应发送请求
6.支持微妙级精度deadline timer
7.低CPU占用,常规休闲游戏及SLG等网络不是特别频繁的游戏几乎不占CPU
8.支持多个连接通道
9.夸平台,支持win32,android,apple平台
10.无任何第三方库依赖,只依赖posix socket和C++ 11标准库
github地址: https://github.com/halx99/mini-asio

注意事项:
1.慎重开启过短定时器,以免造成高CPU占用
2.定时器回调是在网络独立线程调用,注意需要在回调中调用游戏渲染对象时线程安全问题

20赞

:3:什么时候才能像楼主一样优秀啊

不断地练习,不断地研究

v3.2 更新
增加断线后自动重连支持,接口set_auto_reconnect_timeout

厉害

更新V3.3.1

  1. 增加DNS解析缓存超时机制
  2. 增加server支持
  3. 修复win32,同时打开两个通道时可能触发10057错误问题
  4. 增强域名解析,以异步方式解析域名,避免使用多连接通道模式时,相互影响
  5. 使用事件队列的方式,确保连接响应,连接丢失,收包等事件的顺序
  6. 移除无用的回调threadsafe_call
  7. 重构了一些主要API,新的用法,详见simple_test.cpp
  8. 更好的Lua绑定支持,绑定方案: sol2, 详见: https://github.com/halx99/mini-asio/issues/8

你会不会打洞?

楼主厉害

更新V3.3.2

  1. set_option函数改为可变参实现,支持更多选项设置
  2. 增加tcp底层keepalive设置支持, 使用set_option: MASIO_OPT_TCP_KEEPALIVE
  3. 增加自定义域名解析函数设置支持, 使用set_option: MASIO_OPT_RESOLV_FUNCTION

新增选项详细用法见: https://github.com/halx99/mini-asio/blob/master/test/test/cpptest.cpp

1赞

更新V3.9.1

  1. 新增Lua绑定支持,详细用法见: https://github.com/halx99/mini-asio/blob/master/test/test/example.lua,
    绑定方案使用sol2: https://github.com/ThePhD/sol2 需要C++17支持
  2. 移除游戏引擎相关依赖代码
  3. 更新binary协议生成器,可根据xml消息描述生成编解码Lua代码,详见tools目录
  4. 移除和简化一些接口,重命名async_tcp_client.h/async_tcp_client.cpp为masio.h/masio.cpp
  5. 修复GCC编译错误和警告

腾讯的大牛啊

請教大神是否能整合一個creator的版本造福大眾 :grinning:

如果是native, jsb倒是可以

更新V3.9.2
1.Lua binding兼容C++11
2.增加RFC文档3字节整数uint24编解码支持

是的,我想的是native的,
因為目前大部份通用的是web socket,
我想效能應該是比不上您的

更新V3.9.3: https://github.com/halx99/mini-asio

  1. Lua绑定C++11兼容
  2. 增加int24编解码支持
  3. 修復一些Android平台编译错误和警告

C++17 Lua绑定方案: https://github.com/ThePhD/sol2
C++11 Lua绑定方案: https://github.com/satoren/kaguya

好好替换掉那个websocket :grin:

大神,膜拜了

jsb整合中,敬请期待, 库新名字: yasio
https://github.com/halx99/yasio

1赞

期待,感謝大神