自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP快速重传SACK机制

首先看一个网友问题:网友问题这里对博主讲解的超时重传时间增倍说明一下,看博主关于SACK介绍1关于SACK介绍2TCP超时重传和快速重传ACK延迟确认机制:一、ACK定义TCP协议中,接收方成功接收到数据后,会回复一个ACK数据包,表示已经确认接收到ACK确认号前面的所有数据。ACK字段长度为32位,能表示0~2^32-1之间的值。二、ACK作用发送方在一定时间内没有收到服务端的ACK确认包后,就会重新发送TCP数据包。发送方收到了ACK,表明接收方已经接收到数据,保证了数据的可靠达

2022-02-13 22:00:38 1092

原创 TCP切片和PSH理解

首先说一下IP切片:链路层最大MTU(最大传输单元)一般为1500,不包含链路层14字节的头,所以jIP网络层传输给链路层的IP包最大不能超过1500,但是如果超过1500怎么办?其实这种情况不会发生,当IP层收到数据准备发送到链路层时,一定会检测IP包的大小是否超过了当前主机的MTU,如果超过了就会分片,我们知道,MTU时可以设置的,如果下一个路由的MTU比上一个的小怎么办?很简单,路由会在IP层再进行分片?但这个前提是IP设置了允许分片,如果IP不允许分片,那么这个包就会被丢弃,所以有人手贱,改大

2022-02-12 22:48:48 1764

原创 C++初始化列表

定义使用初始化列表的原因必须使用初始化列表的时候成员变量的顺序链接添加链接描述这里对列表初始化做个总结:类中的成员变量只是一个声明,真正的定义在列表初始化,即使你不写列表初始化,默认有一个列表初始化。如果你不使用列表初始化,在构造函数内部对成员变量进行赋值,那么其实就是构造函数,然后使用赋值运算。具体我们来看下面的这个例子:class Test1 {public: Test1() // 无参构造函数 { std::cout << "Construct Test

2021-12-15 20:18:20 647

原创 C++类大小计算

看了很多,这篇最好:https://www.cnblogs.com/BEN-LK/p/10720337.html

2021-12-15 10:42:07 644

原创 Linux下安装ActiveMQ CPP

这里主要记录一下,免得忘了:首先下载地址:cpp客户端https://activemq.apache.org/components/cms/具体操作步骤:https://blog.csdn.net/weixin_42075471/article/details/86028032https://blog.csdn.net/lgh1700/article/details/51055784...

2021-12-07 16:37:54 123

原创 网络编程-TCP/IP如何保证长连接安全

学习此文,先看雄文:http://c.biancheng.net/socket/1(1天玩转socket通信技术(非常详细))TCP/IP如何保证长连接安全?Socket 通信中如何处理 1 个服务器和 1 个客户端有多个长连接?有两种方式第一种是应用层自己发送心跳包。第二种是TCP的keepAlive保活机制。先来说说TCP的握手协议:这是TCP三次握手的完整建立过程,第一个报文从发起方发起SYN,第二个报文SYN ACK是从被连结方发起,第三个报文ACK确认对方的SYN,第三个从ACK确

2021-12-05 15:12:06 1221

原创 C语言编译过程

主要有四个阶段:预处理, 展开头文件/宏替换/去掉注释/条件编译 (test.i main .i)编译, 检查语法,生成汇编 ( test.s main .s)汇编, 汇编代码转换机器码 (test.o main.o)链接

2021-12-03 19:55:21 534

原创 C语言内存布局

1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式先进后出类似于数据结构中的栈;2、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可能由系统回收,但在程序运行期间可能造成内存的泄露(比如循环new出来的对象却总是没有被delete掉);3、全局变量区(也称静态存储区static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结束后有系统释放;*

2021-12-03 19:53:10 732

原创 template<typename MAP, typename LIST, typename First, typename ...KeyTypes>不定参递归调用-泛华之美

在说明我们这一章节想要讲什么,我们先来看一个例子:(例子来源于zlmediakit中的MediaSource.cpp) using Ptr = std::shared_ptr<MediaSource>; using StreamMap = unordered_map<string/*strema_id*/, weak_ptr<MediaSource> >; using AppStreamMap = unordered_map<strin

2021-12-03 10:03:10 156

原创 CSDN文档编写规范说明

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-12-03 09:09:23 169

原创 netstat

netstat -lntp. service --status-all2. .chkconfig --list3. ps aux4. netstat -lntp5. 进入init.d目录查看

2021-11-23 20:10:24 61

原创 std::function和函数指针怎么互相赋值

我们先看官方代码:#include <functional>#include <iostream> int f(int, int) { return 1; }int g(int, int) { return 2; }void test(std::function<int(int, int)> const& arg){ std::cout << "test function: "; if (arg.target<std

2021-10-29 10:51:00 1562

原创 ternsorrt模型集成总结

有时候在处理deep learning 模型的时候,我们需要将模型用c++集成。这里概述一下,免得自己下次有忘掉了:下面的是深度学习开源库的一些对比我这里是用TensorFlow、TensorRTTensorFlow:Google发布了TensorFlow ——这是用于训练深度学习模型的核心开源库之一。TensorRT:是NVIDIA所推出的的高性能深度学习推理优化器,通常用于基于ResNet-50和BERT的应用程序。使用TensorRT和TensorFlow 2.0,开发人员可以在推理上实现高达

2021-09-22 11:37:54 528

原创 阿里云服务器连接内网操作

背景:客户要求能从外网网页端访问web控制中心。介绍:申请了一个阿里云服务器,其实第一次有试用版本,申请了服务器以后,服务器会给你分配一个外网IP,具体链接:阿里云申请后就可以在工作台看到了:然后去安全组打开端口配置:配置需要访问的端口。这时候我们通过内网(可以访问外网IP)的电脑进行登录:ssh root@172.76.118.223输入密码然后就可以登录到云服务器了。但是这个时候我们只能以客户端的方式从内网访问云服务器,那么当我们在云服务器上部署了一个web程序,而这个程序需要

2021-09-18 17:36:01 11151 1

空空如也

空空如也

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

TA关注的人

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