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

环境: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赞

好~~~~

哥们,你做这东西也不容易了,只是,重。

更新v3.9.11f2: https://github.com/halx99/yasio/releases/tag/v3.9.11f2

[BugFix] 避免使用luaopen_yasio_cclua注册模块时影响Lua栈
[Feature] 新增选项: YOPT_NO_NEW_THREAD, 可以在调用线程处理io而不开新线程
[Improve] 新增选项: YOPT_CHANNEL_REMOTE_ENDPOINT,用于设置服务器地址和端口
[BugFix] 修复调用open channel无法关闭已有transport问题
[BugFix] 修复匿名结构体成员在vs2013上无法初始化问题.
[Improve] 整理枚举定义
[Improve] 优化io_service API: open,reopen
[Improve] 优化定时器实现,避免内存泄露
[Improve] 优化文件日志,使用无缓存的posix文件读写接口
[Improve] 当transport读取或写入出错时,将返回值存储在offset域,用于日志跟踪错误
[Improve] 由于连接被对方中断时在Android平台无法后去远端地址,因此用id代替来打印连接丢失日志
[Improve] 其他大量代码优化和逻辑优化

mark