![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
net
文章平均质量分 86
constCpp
会写代码的莫扎特
展开
-
如何实现可靠UDP传输
既然已经有TCP了,为什么还需要UDP可靠?TCP是强制的可靠性传输,其在IP协议的基础上,发送端对所有的数据进行定时重传,接受端对所有的数据进行排序,以此(当然还有很多其他的机制)来实现发送端是什么样子的,接受端就能接受到什么样子的数据。但是现实中有一些场景,我们并不需要如此固执的可靠性。对于FPS游戏这种时效性要求非常高的游戏中,玩家最关心的是自己的射击结果和角色的存活与否,当有一个手雷扔...原创 2020-04-12 15:18:10 · 726 阅读 · 0 评论 -
C++服务器研发精进
转眼间已经工作四年有余,回想自己从毕业到现在,迷茫和焦虑往往是萦绕不去的情绪。工作上虽算是有所进步,但自己的职业生涯,技术路线却一直苦于无师可询,摸着石头过河是常态,兜兜转转浪费了不少时间。今天写文记录下自己的技术感悟,斗胆以进阶做名,也是希望对同样迷茫的同行有所启发或共鸣。我现在应该算是C++服务器开发的领域,所以主要说下关于C++服务器开发的相关进阶:服务器开发主要有四块儿的知识领域:计...原创 2019-11-10 13:15:41 · 1392 阅读 · 2 评论 -
IOCP 详解
IOCP 详解一直有写一个网络库得想法,现在终于得以实现。 关于网络库需要的组件,前边已经写了内存指针,线程模型,消息队列,智能指针,时间管理,后边还会有环形缓存的实现介绍。我想实现的网路库只支持TCP协议,采用单进程多线程模型,只实现两个平台的版本,一个是基于epoll的Linux版本,一个是基于IOCP的Windows版本。网络上关于epoll的介绍资料多如牛毛,大多数已经讲解的非常细致...原创 2018-07-16 09:30:36 · 7394 阅读 · 0 评论 -
C++网络库都干了什么?——CppNet
虽然市面上已经有很多成熟的网络库,但是编写一个自己的网络库依然让我获益匪浅,这篇文章主要包含:Tcp网络库需要有哪些功能,编写时需要注意哪些问题,CppNet是如何解决的。 大家都知道操作系统原生的so...原创 2019-08-24 19:57:52 · 2544 阅读 · 5 评论 -
如何高效的管理缓存?——LoopBuffer
我们需要一种缓存结构,可以未预知数据大小的情况下高效的管理内存。每次数据到来的时候都能保证有效的写入,即使动态的扩展内存也不会对原有的数据进行任何挪移操作。读取数据的时候只能顺序的读取,也不会对未读取到的数据进行移动。 CppNet的数据流缓冲通过CBuffer类来实现,实际的数据存储在CLoopBuffer中,loop buffer实现如其名,通过在一块固定大小的内存上移动指针来实现顺序...原创 2019-08-31 18:38:44 · 1082 阅读 · 0 评论