自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

单打乔的Log

Each logs lead changes

  • 博客(17)
  • 收藏
  • 关注

原创 TCP 连接管理与释放(三次握手,四次挥手)

TCP 是面向连接的传输层协议。在每一次发送数据之前要有明确的建立和释放连接的过程,在源进程和目的进程之间建立一条需路径。 TCP 连接的建立和释放采用 客户机—服务器模式。建立连接在传输数据之前,必须要使双方确认对方的存在,对通信初始化(协商一些参数),并得到认可。释放连接TCP 连接是全双工的,所以必须每个方向都单独的关闭连接才能真正释放,(一个方向关闭只是不再发送数据但任可以接受)称四

2017-07-31 19:03:33 296

原创 TCP 控制字段之 URG 和 PSH

URGURG(Urgent) : 紧急位 ,用来指示紧急指针有效。紧急指针是一个正的偏移量,从第一个字节到指针的位置为 紧急数据,这些数据不进入缓冲区,直接交付给上层进程。 URG标志位为1时为有效,例如一个正在执行的程序却出现问题,使用键盘的中断信号,这就属于紧急数据。当接收方发现紧急数据时,其的TCP就通知与其相关的应用进入紧急模式,等到紧急数据消耗完毕才返回正常模式,它是基于端到端的。PS

2017-07-15 17:39:27 516

原创 TCP的4个定时器

为了实现TCP, 它维护着4个定时器来实现特定功能。重传定时器TCP 提供 可靠的传输是采用超时重传来解决的。 TCP 每发送一个报文就会启动该定时器,在重传时间内(等待一个报文确认的时间段),收到确认,则停止该定时器;反之该报文被重传,且定时器复位。重传时间的确定 :重传时间取决于TCP 连接的RTT(往返时间)。如果太短,在途中的报文会重传,从而增加网络负担;如果太长,导致效率会低下。所以TC

2017-07-14 18:07:50 461

原创 CRC循环冗余校验

在传输帧的过程中,由于电干扰或热噪音等等影响,帧的比特位会出错。特别是在光链路中,需要差错检测机制来及时纠正。最常用的一项技术CRC(Cyclic Redundancy Check)循环冗余校验 。CRC 码是基于模2建立的校验码,它的运算不考虑进位和借位,即俩个相同的数模2恒为0。编码原理CRC 编码的理论基础源于数学分支中的一个有限域。听起来深奥,但基本思想很容易理解。接下来从组成它的每一个多项

2017-06-30 17:27:59 614

原创 网络端口

在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,称为接口,比如路由器用于连接其他网络设备的接口,如RJ-45端口;二是逻辑意义上的端口(是种抽象的软件结构),一般是指TCP/IP协议中的端口,比如用于浏览网页服务的80端口等等。端口范围 从 0 - 65535。端口号由IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)分

2017-06-30 15:51:34 381

原创 网络地址转换NAT和代理服务器

网络地址转换NAT首先我们讨论一种实际情况,在专用网内部一些主机已经分配到本地IP 地址(仅限在本地网络内使用),又想访问互联网,可以采取 什么措施呢?最简单的办法就是多申请一些全球IP地址,但是 花费太大,不合理。目前使用的最多的就是网络地址转换技术NAT(Network Address Translation) 这种技术需要在专用网络连接到因特网的路由器上安装NAT软件,它至少有一个有效的

2017-06-29 17:47:42 1868

原创 ARP地址解析协议

ARP 地址解析协议Address Resolution Protocol用TCP/IP 技术构建的互联网,其目的就是要屏蔽底层不同物理网络的细节,实现透明,只用网络层的IP 进行 通信 。但是主机A和主机B 完成最后的通信需要预先知道B 的物理地址,怎么通过逻辑地址得到物理地址呢?对于不同物理网络的物理地址长度,有不同的解决方法 : ARP 工作原理在跨网络中,IP 分组转发时,在每一个物理网络

2017-06-28 23:19:04 251

原创 红黑树

红黑树概念:红黑树是一棵二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED或者BLACK,红黑树保证 最长路径 不超过 最短路径的两倍 ,(通过对任何一条从根节点到叶子结点上的简单路径来约束)因而近视平衡。性质:每个结点不是红色就是黑色根节点是黑色的如果一个根节点是红色的,则它的两个孩子结点是黑色的 (没有两个连续的红色结点)对于每个结点,从该结点到其所有后代叶

2017-05-25 16:26:51 167

原创 AVL树的平衡化旋转

左单旋:右单旋: 左右双旋: 右左双旋:

2017-05-23 21:37:41 308

原创 二叉树的遍历

遍历:遵循某种次序,遍历二叉树中的所有节点,使得每个结点被访问一次,而且仅访问(对节点进行特定操作)一次。// 二叉树的遍历//递归//前序遍历void _PreOrder(Node* _pRoot){ if (_pRoot) { cout << _pRoot->_value << " "; _PreOrder(_pRoot->_pLeft)

2017-05-14 12:43:11 159

原创 二叉树的概念和基本操作

**二叉树概念**:一棵二叉树是结点的一个有限集合,该集合可为空,或者是由一个根节点加上左子树和右子树的二叉树组成。**二叉树的特点**:1.每个结点最多有两棵子树,即二叉树不存在度大于2的结点(分支数最大不超过2)2.二叉树的子树有左右之分,其子树的次序不能颠倒**满二叉树**:在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子节点都在同一层上。**完全二叉树

2017-05-13 20:46:14 360

原创 虚表剖析

虚表剖析 举例: class Test{public:Test(){ _test = 10; cout << "this = " << this << endl;};virtual ~Test(){}private:int _test;}; int main(){Test t;cout << sizeof(Test) << endl;syste

2017-05-09 17:21:17 175

原创 C++多态,虚函数

1.对象类型 2.多态: Alt text 我们来一一分析: 静态多态(早绑定):编译器在编译期间完成的,编译器根据函数实参的类型(可能会进行隐式类型转换),可推断出要调用那个函数,如果有对应的函数就调用该函数,否则出现编译错误。 int ADD(int a,int b){return a+b}; int ADD(double a,double b){return a+b};

2017-04-26 19:21:44 243

原创 单链表的基本操作

单链表

2017-04-17 17:07:04 434

原创 Linux find命令

Linux下 find 命令在目录结构中搜索,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能强大。其选项也很多。1.命令格式:find pathname -options [-print -exec -ok ...] 注意:每一个选项前面跟随一个横杠-2.命令功能:根据条件查找,并作出相应的处理(可能访问磁盘)3.命令参数:pathname: find命令所查找

2017-03-29 17:07:01 343

原创 Linux 粘滞位

通常情况下,用户只要对某个目录具备 写和执行 权限的用户都可以删除和移动其中的文件将造成不可预计的结果!所以提出了粘滞位(Stickybit),其是Unix文件系统权限的一个旗标。如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。从而保持了动态的平衡:允许各用户在目录中任意写、删除数据,但是禁止随意删除其他用户的数据。需要注意,粘滞位权限只能针对目录设置,对文件无效。设置了粘滞位

2017-03-29 15:40:49 255

原创 C++之 继承考点篇

继承(inheritance)是指一个对象直接使用另一对象的属性和方法。继承机制是C++设计中使代码可以复用的最重要的手段,在保持原有类特性的基础上进行扩展,增加功能。继承出来的新类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。在一个类中,有三种访问限定符:public protected private.继承方式有相对应的三种,在不同继承方式后成员的访问变化

2017-02-24 21:10:49 350

空空如也

空空如也

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

TA关注的人

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