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

更新v3.9.6: https://github.com/halx99/yasio/releases/tag/3.9.6

  1. 移除宏 _USING_SHARED_PTR
  2. 重命名io_event::error_code io::event::status
  3. 统一Lua绑定接口 io_event::packetio_event::take_packet
  4. 优化binarystream函数模板特化匹配
  5. 为Unity tolua增加64位预编译库lyasio.dll
  6. 增加Cocos2d-x jsb支持
  7. 增加CocosCreator jsb2.0支持
  8. 重命名库名称为yasio
  9. 优化VS测试工程
1赞

mark

楼主威武

环境:mac
版本:v3.9.6
引擎:cocos/lua

lyasio.cpp(for c++17) or lyasio11.cpp(for c++11) 这两货编译有问题

有啥问题,截图看一下,只编译其中一个,看你编译器支持的c++标准, 支持c++17只编译lyasio.cpp, 不支持的话只编译lyasio11.cpp


怀疑你编译器是支持c++17的, 你看看lyasio11.cpp里代码有没有编译进去, 主要看一下_HAS_CXX17宏的值

xcode?

打开lyasio11.cpp看看

最新代码里都没有lyasio11.cpp文件啊?xcode最新master代码编不过

最新master是下个版本,合并到lyasio.cpp了

具体报啥错,截图看一下呗

看了下,确实编译不过,更新一下最新master, xcode, c++17就可以编译过了, c++11我尽快支持一下xcode

我要用android,应该还得用c++11的环境。。等c++11能编过了通知一下呗。之前编不过是你有些函数用的c++14的,std里找不到名字才编不过

你的ndk版本和cocos版本分别是多少?

更新一下master, android,xcode c++11都好了,试试,有问题及时时反馈

1赞

更新v3.9.7: https://github.com/halx99/yasio/releases/tag/3.9.7

  1. 优化序列化类函数模板特化模板匹配

  2. 增强序列化接口

  3. 合并 lua bindings c++17/11 代码到 lyasio.cpp, 更方便集成

  4. 增加UDP支持

  5. 修复android clang编译器, C++11,调用luaopen_yasio即crash问题, abi::__cxa_demangle接口始终返回nullptr导致。

  6. 增加xxsocket接口pconnect, xpconnect,建立TCP连接时,指定本地绑定端口

  7. 增加选项YASIO_OPT_CHANNEL_LOCAL_PORT使客户端channel支持绑定本地端口

  8. 修复类Unix系统: xxsocket的bind接口失败Invalid argument问题

  9. 修复Android & ios c++11编译问题

  10. 增加Android.mk for cocos2d-x lua bindings, lua bindings集成更方便

  11. 增加Android.mk for cocos2d-x js bindings,js bindings集成更方便

  12. 统一 jsb & jsb20 binding API 为jsb_register_yasio

  13. 移除无用源文件

  14. 增加实验性实现io_service基于epoll, iocp, poll

  15. 更新集成说明, 更加方便集成到cocos2d-x lua使用

2赞

和boost::asio是什么关系?

借鉴了boost.asio的部分设计思想,但结构更简单,因为专注于移动平台,没有并发需求,简化为service(事件循环), channel(负责连接), transport(负责数据传输)。 同样是proactor模式。

1赞

好~~~~