自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 TCP粘包问题处理

这篇记录TCP通信粘包问题的处理方法。以上就是处理粘包问题的一种方法,使用async_read一次性读完一整个消息头部和一整个消息体,这样就做到把粘在一起数据读的时候分开了。

2024-12-07 17:46:13 1142

原创 C++序列化

这篇文章主要记录一下C++序列化和反序列化。

2024-12-05 00:58:40 1141

原创 【无标题】字节序处理

这一篇记录asio服务器的通信流程,和字节序列的处理。

2024-12-01 11:21:00 679

原创 伪闭包延长生命周期

前面的异步服务器为echo模式,但其存在安全隐患,就是在极端情况下客户端关闭导致触发写和读回调函数,二者都进入错误处理逻辑,进而造成二次析构的问题。下面我们将通过C11智能指针构造一个伪闭包的状态延长session的生命周期。(伪闭包不是真正的闭包,而是通过智能指针和函数绑定的组合来模拟闭包的行为,以确保对象在其仍然被使用的回调函数中保持有效。我们通过bind和智能指针实现伪闭包,保证在回调函数出发前session都是有效存活的。

2024-11-26 14:39:28 462

原创 asio异步读写操作

这一篇记录的是boost::asio的异步读写操作,还是先记录api使用的代码片段,然后连起来写一个以应答为主的异步echo服务器。这里实现的这个异步服务器存在隐患,就是当服务器即将发送数据前(调用async_write前),此刻客户端中断,服务器此时调用async_write会触发发送回调函数,判断ec为非0进而执行delete this逻辑回收session。但要注意的是客户端关闭后,在tcp层面会触发读就绪事件,服务器会触发读事件回调函数。

2024-11-25 22:59:43 733

原创 asio之socket的创建和连接

一个应答式的客户端和服务器。客户端和服务器采用阻塞的同步读写方式完成通信。

2024-11-24 22:36:22 986

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除