[置顶] 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,WEBSOCKET,RPC,ICMP,SSL,串口,跨平台,支持可靠UDP,支持TCP自动拆包等

摘要: 支持TCP,UDP,HTTP,WEBSOCKET,RPC,ICMP,SERIAL_PORT等;支持可靠UDP(基于KCP),支持SSL,支持从内存字符串加载SSL证书;TCP支持数据拆包功能(按指定的分隔符对数据自动进行拆包,保证用户收到的数据是一个完整的数据包);实现了TCP的数据报模式(类似WEBSOCKET);代码采用hpp头文件方式,以源码级链入,无需编译; 阅读全文

posted @ 2019-06-05 09:24 zhllxt 阅读(2002) 评论(0) 推荐(0)

2021年12月7日

基于c++和asio的网络编程框架asio2教程使用篇:使用rpc模块编写rpc server和rpc client

摘要: rpc的基础概念这里就不再介绍了,不熟悉的可以网络搜索,先了解一下。asio2框架实现了轻量级的rpc功能,使用起来非常简单。 最简单的例子 服务端代码 int add(int a, int b) { return a + b; } asio2::rpc_server server; server. 阅读全文

posted @ 2021-12-07 20:52 zhllxt 阅读(537) 评论(0) 推荐(0)

2020年12月23日

基于c++和asio的网络编程框架asio2教程基础篇:4、使用tcp客户端发送数据时,如何同步获取服务端返回结果

摘要: 基于c++和asio的网络编程框架asio2教程基础篇:4、使用tcp客户端发送数据时,如何同步获取服务端返回结果 问题描述 我们先看使用异步框架遇见的一个问题: // 我们调用send函数向服务端发送数据 client.send("abc"); 假定服务端收到abc之后,回复123,问题是:我们在 阅读全文

posted @ 2020-12-23 16:53 zhllxt 阅读(866) 评论(0) 推荐(0)

2020年9月29日

基于c++和asio的网络编程框架asio2教程基础篇:3、各个回调函数的触发线程以及多线程总结

摘要: 基于c++和asio的网络编程框架asio2教程基础篇:3、各个回调函数的触发线程以及多线程总结 关于asio的多线程的知识点感觉挺多的,需要对“服务端,客户端,tcp,udp”分别来总结。 而且了解各个函数分别在哪个线程中执行的,对于多线程编程以及和做具体业务时变量要不要用锁来保护,非常重要。 a 阅读全文

posted @ 2020-09-29 16:00 zhllxt 阅读(1018) 评论(0) 推荐(0)

2020年9月28日

基于c++和asio的网络编程框架asio2教程基础篇:2、各个回调函数的触发顺序和执行流程

摘要: 基于c++和asio的网络编程框架asio2教程基础篇:2、各个回调函数的触发顺序和执行流程 以tcp举例: tcp服务端流程: #include <asio2/asio2.hpp> int main() { std::string_view host = "0.0.0.0"; std::strin 阅读全文

posted @ 2020-09-28 16:25 zhllxt 阅读(606) 评论(0) 推荐(0)

基于c++和asio的网络编程框架asio2教程基础篇:1、基本概念和使用说明

摘要: 基于c++和asio的网络编程框架asio2教程基础篇:1、基本概念和使用说明 由于asio2没有写技术文档,因此打算写几篇文章介绍一下如何使用它,主要是针对新手。 1、asio2如何使用? asio2这个框架的使用很简单,以VS2017举例:在VS2017的项目上点右键 - 属性 - C/C++ 阅读全文

posted @ 2020-09-28 16:24 zhllxt 阅读(1254) 评论(0) 推荐(0)

2020年3月16日

asio做tcp的自动拆包时,asio的match condition如何使用的详细说明

摘要: 首先说点基础概念:因为tcp是流式的,所以如果你自己定制有协议(一般如数据头,命令,数据长度,数据内容,校验),在tcp下发送你自己的协议的数据包时,就必须要考虑tcp的封包和拆包的问题了。 目前asio使用的人也比较多了吧,我觉得asio对tcp的封包和拆包的支持和设计做的很不错,如果你用asio 阅读全文

posted @ 2020-03-16 16:41 zhllxt 阅读(635) 评论(0) 推荐(0)

导航