![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
yasio
一线灵
x-studio软件作者
展开
-
socket.select各操作系统限制实测
测试用例:预先创建1024各socket,之后启动yasio的io_service服务,cmake配置yasio时打开详细日志输出:-DYASIO_VERBOSE_LOG=TRUE。windows: select可以正常工作,不受socket句柄值大小限制,说明限制的是FD_SET注册进文件描述符监听的数量而非文件描述符值。测试代码: https://github.com/yasio/yasio/blob/dev/tests/issue384/main.cpp。原创 2023-01-07 15:11:27 · 303 阅读 · 0 评论 -
【跨平台socket库yasio-3.39.6发布】
开发阶段,macos下由于socket文件描述符过大导致select失败,返回错误码: EINVAL(22)。此版本带来的重要变化是对多路io复用模型进行了重构,底层支持在select和poll之间切换,默认使用poll,通过添加编译选项-DYASIO_DISABLE_POLL=1可切换会select模型。预告:即将发布的3.39.7版本将重构TLS/SSL通信,增加SSL服务端支持,并解决SSL关闭流程问题。版本下载: https://github.com/yasio/yasio/releases。原创 2023-01-07 15:09:39 · 206 阅读 · 0 评论 -
yasio - 轻量级夸平台socket库v3.37.2发布
yasio - 轻量级夸平台socket库v3.37.2发布zh_CN:添加pkg-config文件支持.增强虚幻引擎支持.增强cmake编译脚本.修复server socket绑定失败错误处理.增加server被动事件open/close产生支持.增加预处理器YASIO_ENABLE_PASSIVE_EVENT来控制是否产生被动事件.使用github action来构建和发布项目文档.修复gcc-4.7编译问题.重新启用appveyor ci使用vs2013构建.使得命名空间yas原创 2021-06-19 12:48:10 · 272 阅读 · 0 评论 -
yasio - 轻量级夸平台socket库v3.37.0发布
增强timer对象安全性, 不再持有io_service的引用。将中文文档markdown源文件嵌入主仓库。修复当启用宏YASIO_VERBOSE_LOG时编译错误。修复当启用YASIO_HAVE_KCP时 speedtest 编译错误。公开字节序转换接口host_to_network和network_to_host到yasio命令空间。增加接口 yasio::set_thread_name 方便设置调用者线程名称。增加obstream::clear接口,更利于缓冲区复用。增加ibstrea.原创 2021-01-19 18:37:10 · 310 阅读 · 0 评论 -
C++函数模板编写通用字节序转接口
函数模板编通用字节序转换接口摘自轻量级开源跨平台网络库: yasionamespace yasio{namespace endian{template <typename _Ty, size_t n> struct byte_order_impl {};template <typename _Ty> struct byte_order_impl<_Ty, sizeof(int8_t)> { static inline _Ty host_to_netwo原创 2020-12-22 10:58:20 · 459 阅读 · 3 评论 -
yasio - 轻量级全平台异步socket库v3.34.0发布
Add 7bit Encoded Int64support for obstream/ibstreamRename obstream/ibstream 7bit Encoded IntAPIs write_i/read_ito write_ix/read_ixRename obstream/ibstream Fixed Encoded NumberAPIs write_ix/read_ixto write/read原创 2020-12-05 17:53:30 · 294 阅读 · 0 评论 -
yasio - socket库性能测试报告,遇到一些坑,记录下
Devices:Windows 10 & WSL2 & Ubuntu 20.04 On VMware 15.5: Intel® Core™ i7-9700 CPU @ 3.00GHz / Windows 10(10.0.19041.264)Linux: Intel® Xeon® Platinum 8163 CPU @ 2.50GHz / Ubuntu 20.04macOS: Intel® Core™ i7-8850H CPU @ 2.60GHz / macOS 10.15.4And原创 2020-09-25 16:34:50 · 486 阅读 · 0 评论 -
yasio-3.33.2发布
修复使用c-ares时在ios平台获取不到系统dns问题增加YOPT_S_DNS_DIRTY选项,启用c-ares时,当手机设备网络环境发生变化时,应当设置此选项增强当内核发送缓冲区满时事件注册逻辑原创 2020-06-23 13:21:59 · 317 阅读 · 0 评论 -
【yasio】轻量级跨平台socket库v3.33.0正式发布
yasio 是一个专注于移动平台和各种客户端的socket库官网: https://yasio.org/文档: https://docs.yasio.org/经历近3个多月的研发和测试,终于发布了v3.33.0的正式版本,此版本带来了大量的bug修复和功能增强,详细更新内容如下:重构UDP Transport,和TCP一样使用发送队列,UDP客户端默认不使用connect绑定四元组,同时提供选项YOPT_T_CONNECT和YOPT_T_DISCONNECT来修改绑定行为增加io_serv原创 2020-05-26 17:21:05 · 567 阅读 · 0 评论 -
关于yasio的Lua绑定思考
最近,将 yasio Lua 绑定集成到xlua中使用,结果发现在Apple clang release优化编译模式下,lua构造yasio的io_service对象是直接crash了,刚开始表现是Unity Editor预览即闪退,后通过Xcode附加+VS联合调试发现crash原因是Bad Access, 于是花时间研究了下,将yasio从之前只能在c++11标准下编译,到现在支持在c++14,c++17乃至c++20标准下编译,同时对问题做了如下总结:c++11:使用kaguya绑定库,但这原创 2020-05-10 22:38:44 · 449 阅读 · 0 评论 -
yasio - 论跨PC和移动平台socket库的设计和实现原理
之前分享对的文章都是对yasio特性和用法的描述:https://blog.csdn.net/xseekerj/article/details/51891362本文将阐述核心设计思路和原则。当一个框架或库的诞生,必然有其原由,一个库带来的好处越大于使用代价,越容易被人接受,以下是本人对框架库设计的重要原则总结:易用性,只需要简单的调用,便能正常工作鲁邦性,简而言之就是不能闪退适用性,核...原创 2019-12-01 18:05:21 · 606 阅读 · 0 评论