1. Posted on 2023-06-05 | In C++

    简介

    前面的设计,我们对asio的使用都是单线程模式,为了提升网络io并发处理的效率,这一次我们设计多线程模式下asio的使用方式。总体来说asio有两个多线程模型,第一个是启动多个线程,每个线程管理一个iocontext。第二种是只启动一个iocontext,被多个线程共享,后面的文章会对比两个模式的区别,这里先介绍第一种模式,多个线程,每个线程管理独立的iocontext服务。

    Read more »
  2. Posted on 2023-06-05 | In C++

    优雅退出

    服务器优雅退出一直是服务器设计必须考虑的一个方向,意在能通过捕获信号使服务器安全退出。我们可以通过asio提供的信号机制绑定回调函数即可实现优雅退出。在主函数中我们添加

    Read more »
  3. Posted on 2023-06-01 | In C++

    简介

    本文概述基于boost::asio实现的服务器逻辑层结构,并且完善之前设计的消息结构。因为为了简化粘包处理,我们简化了发送数据的结构,这次我们给出完整的消息设计,以及服务器架构设计。

    Read more »
  4. Posted on 2023-05-31 | In C++

    简介

    本文主要讲述如何在Windows环境下使用visual studio配置grpc,并且实现grpc通信的例子。前文windows配置和编译grpc已经介绍了如何在windows环境配置grpc,接下来我们利用之前编译好的库配置到项目中,并实现grpc通信。

    Read more »
  5. Posted on 2023-05-30 | In Qt界面

    简介

    前面几篇的讲解,我们已经完成QT电子相册的开发,这里做一个总结,说明各个类的功能,以及关联和使用情况。

    Read more »
  6. Posted on 2023-05-29 | In C++

    grpc简介

    gRPC是Google开发的一种高性能、开源的远程过程调用(RPC)框架。它可以让客户端应用程序像调用本地服务一样轻松地调用远程服务,并提供了多种语言的支持,如C++、Java、Python、Go等。

    Read more »
  7. Posted on 2023-05-27 | In C++

    简易方式

    之前我们介绍了通过async_read_some函数监听读事件,并且绑定了读事件的回调函数HandleRead

    Read more »
  8. Posted on 2023-05-21 | In C++

    jsoncpp简介

    jsoncpp 是一个 C++ JSON 库,它提供了将 JSON 数据解析为 C++ 对象、将 C++ 对象序列化为 JSON 数据的功能。它支持所有主流操作系统(包括 Windows、Linux、Mac OS X 等),并且可以与常见编译器(包括 Visual Studio、GCC 等)兼容。

    Read more »
  9. Posted on 2023-05-15 | In C++

    protobuf简介

    Protocol Buffers(简称 Protobuf)是一种轻便高效的序列化数据结构的协议,由 Google 开发。它可以用于将结构化数据序列化到二进制格式,并广泛用于数据存储、通信协议、配置文件等领域。
    我们的逻辑是有类等抽象数据构成的,而tcp是面向字节流的,我们需要将类结构序列化为字符串来传输。

    Read more »
  10. Posted on 2023-05-13 | In C++

    字节序的问题

    在计算机网络中,由于不同的计算机使用的 CPU 架构和字节顺序可能不同,因此在传输数据时需要对数据的字节序进行统一,以保证数据能够正常传输和解析。这就是网络字节序的作用。

    Read more »

热门文章

  1. 解密定时器的实现细节

    喜欢(566) 浏览(1165)
  2. C++ 类的继承封装和多态

    喜欢(588) 浏览(1372)
  3. Linux环境搭建和编码

    喜欢(594) 浏览(2372)
  4. windows环境搭建和vscode配置

    喜欢(587) 浏览(1323)
  5. slice介绍和使用

    喜欢(521) 浏览(1329)

最新评论

  1. 双链表实现LRU算法 secondtonone1:双链表插入和删除节点是本篇的难点,多多练习即可。
  2. golang 函数介绍 secondtonone1:函数是go中的一等公民,作为新兴语言,go摒弃了面向对象的一些糟粕,采取接口方式编程,而接口方式编程都是基于函数的,参数为interface,进而达到泛型作用,比如sort排序,只需要传入的参数满足sort所需interface的规定即可,需实现Len, Swap, Less三个方法,只要实现了这三个方法都可以用来做sort排序的参数。
  3. C++ 类的拷贝构造、赋值运算、单例模式 secondtonone1:本文实现了线程安全的单例模式,介绍了拷贝构造和拷贝赋值的区别和联系,以及如何构造单例类,对于通用单例类如何构造可以使用模板,这个之后的章节回来介绍
  4. 堆排序 secondtonone1:堆排序非常实用,定时器就是这个原理制作的。
  5. 解决博客回复区被脚本注入的问题 secondtonone1:走到现在我忽然明白一个道理,无论工作也好生活也罢,最重要的是开心,即使一份安稳的工作不能给我带来事业上的积累也要合理的舍弃,所以我还是想去做喜欢的方向。

个人公众号

个人微信