- 博客(18)
- 收藏
- 关注
原创 URG和PSH的特点及其区别
URG和PSH属于tcp协议中得标志位URG:表示本报文段中发送的数据是否包含紧急数据。URG=1,表示有紧急数据。后面的紧急指针字段只有当URG=1时才有效。PSH:告诉对方收到该报文段后是否应该立即把数据推送给上层。如果为1,则表示对方应当立即把数据提交给上层,而不是缓存起URG和PSH得区别及其特点可以看出URG和PSH的区别:虽然URG和PSH都是提
2017-06-27 13:13:49 1231
原创 TCP的握手与挥手
一 为什么要三次握手 client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新
2017-06-27 12:30:39 291
原创 NAT技术与代理服务器调研
一 NAT技术概念:网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。工作原理
2017-06-25 11:56:04 989
原创 计算机端口
一什么是端口 随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协议就解决了这个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术,因为在 TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一
2017-06-19 13:46:35 496
原创 关于CRC校验
一 什么是CRC校验 crc即循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。二 CRC的生成方法借助于模2除法则,其余数为校验字段。例如:信息字段代码为:
2017-06-19 13:09:54 647
原创 死锁的总结
一 死锁的概念 死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2 所占用,而P2在未释放打印机之前,又提出请求使用正被P1占用着的输入设备。这样两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死
2017-06-15 13:36:55 443
原创 linux下的线程
一线程是什么 在linux下线程是共享地址空间的进程,线程是在进程的地址空间内部运行线程的特点是1 所有的线程只是进程的分支,创建代价小2 线程是调度的基本单位,进程是承担分配资源的基本单位3 Linux下进程可以看作轻量级线程,Linux下没有真正意义上的线程,所有的线程都是用进程模拟的4 线程的上下文信息与线程的栈是它们私有的5 线程只能够正常运行完,只能得到
2017-06-14 15:54:40 368
原创 子进程的异步等待
一 对于wait和waitpiwd的介绍wait:pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止
2017-06-14 15:32:12 414
原创 线程安全和可重入函数
一 线程安全1 比如说,现在有一篮子苹果,有大有小,然后有一群人要来拿苹果了在线程非安全情况下:所有人一哄而上,变成了抢苹果了,因为大家都想要大的苹果,会发生冲突的在线程安全情况下:把这一篮子苹果放到一个小屋里面,然后锁起来,然后每次只让一个人进去拿,等那个人拿完然后再让下一个人进去拿,这样保证了每个人都能拿到苹果,而且不会出现冲突。2 线程安全的概念线程安全就是多线程
2017-06-11 14:02:15 424
原创 信号的捕捉以及sleep的模拟实现
一 对信号捕捉的认识·对于一个信号的处理方式有三种1 对信号胡略2 执行该信号的默认处理动作3 提供一个信号处理函数,操作系统处理该信号时执行自定义的动作捕捉信号就是第三种,捕捉信号时要使用signal函数,为了做到这一点内核要在某种信号发生时调用函数handler。在用户函数中可以执行用户的自定义函数。SIGKILL和SIGSTOP不能捕捉。
2017-06-11 12:50:09 390
原创 c++之继承
继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持 原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设 计的层次结构,体现了由简单到复杂的认知过程。 继承的种类及继承后成员的变化继承的定义格式派生类中构造函数的调用顺序
2016-10-30 14:57:55 279
原创 类中const
const修饰类成员 【const使用场景】 1、const修饰形参,一般和引用同时使用 2、const修饰返回值 3、const修饰类数据成员,必须在构造函数的初始化列表 中初始化 4、const修饰类成员函数,实际修饰隐含的this,表示在 类中不可以对类的任何成员进
2016-10-09 17:00:06 432
原创 析构函数
析构函数的格式是在类名前加上~ 析构函数的功能是在对象被销毁时,由编译器自动调用,完成类的一些资源清理和汕尾工作。 析构函数的销毁只是一个概念,它只是表示这块内存已经不再被占用了,但其实内存中的东西还在,但是是不安全的。 关于析构函数的销毁有比较形象的例子点击打开链接
2016-10-09 16:20:55 534
原创 关于拷贝构造函数的初步认识
拷贝构造函数是用对象创建对象的构造函数 拷贝构造函数的特征有 1 它是构造函数构成重载 2它只有单个形参,并且这个参数必须使用同类型对象的引用传递(如果不适用引用传递的话,调用拷贝构造函数的时候函数会创建临时的对象从而造成死循环) 3如果没有显示的定义拷贝构造函数,系统会自动声称生成默认的拷贝构造函数。
2016-10-09 16:15:53 327
原创 构造函数
类中的构造函数 1 构造函数的名字必须与类的名字相同 2 构造函数没有返回值 3 构造函数即可以初始化(初始化的顺序是按照类的声明顺序进行初始化的),也可以赋值。 4 构造函数中,它包含的类,引用,以及const类型必须放在初始化列表当中 5 构造函数可以重载,并且实参决定了调用那个构造函数(在构造
2016-09-27 10:02:45 420
原创 c++中的this指针
在c++中每个类的成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this指针。它是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址。 关于this指针的使用:this指针的使用是隐式的,它是作为参数被传递给成员函数的。就是将对象的抵制传递给this指针。 this指针的特点及特性:1 this指针只能在成员函数中使用
2016-09-27 09:56:39 365
原创 今天学习c++时编译出现了error C4996这样的错误
今天在使用vs2013编译器编译c++程序时,因为使用了strcpy函数,所以编译器报出了error C4996这样的错误。 上网查了一下出现这个错误的原因主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。 并且网上也有人给出了3种解决方案
2016-09-24 21:45:39 1649
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人