网络编程
文章平均质量分 81
恋恋风辰
编程是我的使命,秃头是我的勋章。博客地址: https://llfc.club/ 哔哩视频教程: https://space.bilibili.com/271469206
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++全栈聊天项目(2) 单例模式封装Http管理者
我们先实现PostHttpReq请求的函数,也就是发送http的post请求, 发送请求要用到请求的url,请求的数据(json或者protobuf序列化),以及请求的id,以及哪个模块发出的请求mod,那么一个请求接口应该是这样的。网络请求类要做成一个单例类,这样方便在任何需要发送http请求的时候调用,我们先实现单例类,添加singleton.h实现如下。加下来HttpMgr内实现一个slot_http_finish的槽函数用来接收sig_http_finish信号。好了,这样就完成了。原创 2025-03-11 11:08:52 · 1972 阅读 · 0 评论 -
C++全栈聊天项目(1) 项目架构详解和注册登录界面
C++全栈聊天项目 项目架构详解和注册登录界面设计原创 2025-03-10 16:53:40 · 1464 阅读 · 0 评论 -
C++ redis实现分布式锁
在单机环境中,常见的锁机制如互斥锁(Mutex)用于保护共享资源。然而,在分布式系统中,由于多个进程可能运行在不同的机器上,单纯依赖本地锁无法实现资源的同步访问。这就需要分布式锁来确保跨多个节点的互斥访问。分布式锁的关键特性:同一时刻只有一个客户端可以获取锁。锁有超时机制,防止因客户端故障导致的死锁。即使部分节点失效,锁机制仍然可靠。原创 2024-10-11 09:20:04 · 2242 阅读 · 0 评论 -
C++全栈聊天项目(22) 气泡聊天对话框
NameLabel用来显示用户的名字,Bubble用来显示聊天信息,Spacer是个弹簧,保证将NameLabel,IconLabel,Bubble等挤压到右侧。绘制的过程很简单,先创建QPainter,然后设置NoPen,表示不绘制轮廓线,接下来用设置指定颜色的画刷绘制图形,我们先绘制矩形再绘制三角形。BubbleFrame基类构造函数创建一个布局,要根据是自己发送的消息还是别人发送的,做margin分布。接下来在发送处实现文本和图片消息的展示,点击发送按钮根据不同的类型创建不同的气泡消息。原创 2024-06-16 09:22:07 · 1061 阅读 · 0 评论 -
C++全栈聊天项目(21) 滚动聊天布局设计
最外层的是一个chatview(黑色), chatview内部在添加一个MainLayout(蓝色),MainLayout内部添加一个scrollarea(红色),scrollarea内部包含一个widget(绿色),同时也包含一个HLayout(紫色)用来浮动显示滚动条。widget内部包含一个垂直布局Vlayout(黄色),黄色布局内部包含一个粉色的widget,widget占据拉伸比一万,保证充满整个布局。重写paintEvent支持子类绘制。本节先到这里,完成聊天布局基本的构造。原创 2024-06-08 11:18:23 · 812 阅读 · 0 评论 -
C++全栈聊天项目(20) 聊天列表动态加载
全栈聊天项目实战原创 2024-06-06 12:22:07 · 1390 阅读 · 0 评论 -
化繁为简,写个简单好用的server
为什么要造轮子目前很著名的轮子有libevent,boost等高并发的网络库,可以说著名的网络库我都用过,用过才知道当要实现一些定制化的功能时并不方便,不但要了解底层源码,而且还要进行适当的改造,总有种黑盒开发的感觉,所以在15年我就开始自己封装一些epoll,select模型,当时基于多路复用用reactor模式封装了betternet,虽然稳定性不如成熟的网络库,但是可以根据需求灵活修改网络层和应用层,这是难能可贵的。市面上也有一些成型的即时通信server,使用过kbengine,origine等原创 2020-07-02 17:22:54 · 283 阅读 · 0 评论
分享