Results 16 comments of zhllxt

Sorry, i don't know of "any compatible C# server library with asio2". and i'm not familiar with C# .net

我们需要做什么以规避可能会出现的头文件冲突问题? 答: 把asio2/3rd/目录下的fmt spdlog 删除,并使用你自己的版本的fmt spdlog即可。实际上在默认情况下,asio2框架只使用了asio2/3rd/asio这一个库,其它的默认情况下并没使用,而且你同样也可以用更高版本的asio来替换asio2/3rd/asio。 当开启ASIO2_ENABLE_LOG宏时,会使用asio2/3rd/spldlog库来记录一些调试日志。 当开启ASIO2_USE_SSL宏时,会使用asio2/3rd/openssl来实现ssl加密。 以上宏默认情况下并未开启。 当使用asio2的rpc相关的功能时,会使用到asio2/3rd/cereal库来做序列化,如果你不需要rpc,你直接删掉cereal都没有问题。 asio2/3rd/fmt库并未使用,只是为了日常工作便利,直接放在了3rd目录下,并在external/fmt.hpp文件中做了其它一些字符串的格式化器。 external/json.hpp这个single header,一是为日常工作便利,二是为了在rpc demo中演示如何使用第三方开源库的类型,如果你不主动包含这个single header,框架本身并不会去包含它使用它。 因此,只要你熟悉头文件包含和依赖的路径等,完全不会出现因头文件冲突导致的编译错误。

我本来觉得就一个名字而已,完全没必要纠结啊,而且这么小众的一个库,技术淘汰很快的,说不定过几年就没什么用也没人用了。 这说的人多了,搞的我自己都不自信了。

支持https example目录中有ssl相关的示例代码

great, it's so nice.

```cpp void set_cors(http::web_request& req, auto& res) { if (m_config.enable_cors) { res.set("Access-Control-Allow-Headers", "x-requested-with,Content-Type,Authorization"); res.set("Access-Control-Allow-Methods", "POST,GET"); if (auto it = req.find(http::field::origin); it != req.end()) res.set("Access-Control-Allow-Origin", it->value()); } } ``` 上面是我用的一段示例代码,想直接设置一个选项就支持跨域的,没有这个功能

这个功能没有直接支持,需要自己写,具体可以去boost::beast仓库去搜一下,因为http实际上是用的boost::beast

这只是个header only的库,和安卓编译关系不大啊,你只要会编译一个最简单的安卓hello world程序,那这个安卓下的编译就完全不成问题了,所以你查一下怎么编译安卓下的程序就行了,问gpt 或 文心一言 这些,搜一搜。

不能在dll里声明一个asio2相关的全局变量对象,会导致死锁,改成指针,然后做一个导出函数,在导出函数中创建和启动对象,然后手工调用导出函数即可。 这个问题是由于std::thread导致的: 看这个文件开头的说明: [https://github.com/zhllxt/asio2/blob/main/include/asio2/util/thread_pool.hpp](https://github.com/zhllxt/asio2/blob/main/include/asio2/util/thread_pool.hpp)