自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (2)
  • 收藏
  • 关注

原创 网络中的ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 OSI模型把网络工作分为七层,IP地址在O

2017-06-24 15:56:05 480

原创 CRC校验

CRC(循环冗余校验):循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(

2017-06-21 17:46:39 409

转载 网络中的端口问题

一、端口是什么 “端口”是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。二、端口的基本术语 1、硬件端口 CPU通过接

2017-06-21 17:33:31 728

原创 浅谈 Linux 下的 消息队列

消息队列: 就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向其中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。创建新消息队列或取得已存在消息队列: 原型:int msgget(key_t key, int msgflg); 参数: key:可以认为是一个端口号,也可以由函数ftok生成。

2017-06-08 11:23:43 373

原创 浅谈 Linux下的 共享内存

共享内存: 共享内存允许两个或多个进程进程共享同一块内存(这块内存会映射到各个进程自己独立的地址空间)从而使得这些进程可以相互通信。 享内存应用编程接口API允许一个进程使用公共内存区段。但是对内存的共享访问其复杂度也相应增加。 共享内存的优点是简易性。使用消息队列时,一个进程要向队列中写入消息,这要引起从用户地址空间向内核地址空间的一次复制,同样一个进程进行消息读取时也要进行一次

2017-06-07 18:33:44 449

原创 浅谈Linux中的 管道

管道:管道是⼀一种最基本的IPC机制,由pipe函数创建; 调⽤用pipe函数时在内核中开辟⼀一块缓冲区(称为管道)⽤用于通信,它有⼀一个读端⼀一个写端,然后通过filedes参数传出给⽤用户程序两个⽂文件描述符,filedes[0]指向管道的读端,filedes[1]指向管道的写端。#include <unistd.h>int pipe(int filedes[2]);模拟实现一个单向管道:

2017-06-03 14:26:49 478

原创 浅谈Linux中的 线程死锁

死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。死锁有单进程死锁:进程A拥有资源1,而它又在请求资源1,而它所请求的资源1必须等待该资源使用完毕得到释放后才可被请求。这样,就陷入了自己的死锁。还有多进程死锁:有进程A,进程B,进程A拥有资源1,需要请求正在被进程B占有的资源2。而进程B拥有资源2,请求正在被进程A占有的资源1。两个进程都在等待

2017-06-03 13:22:18 526

原创 浅谈 Linux 下的文件描述符 fd fp

文件描述符: 是个很小的正整数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。所谓的文件描述符是一个低级的正整数。最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。因此,函数 scanf() 使用 stdin,而函数

2017-06-01 13:51:54 921

原创 浅谈C++智能指针

为什么要使用智能指针?因为在C++中没有自动的回收机制,在每次new开辟新的空间以后,就要用delete来对开辟的空间进行释放。在代码比较多的时候,很有可能出现忘记deleted释放,这让就会出现内存泄漏。在一段进行了try/catch的代码段里面,即使你写入了delete,也有可能因为发生异常,程序进入catch块,从而忘记释放内存,造成内存泄漏。智能指针可以有效的避免这个问题。智能指针的实质

2017-05-18 14:53:57 295

转载 浅谈C++异常处理

异常处理:增强错误恢复能力是提高代码健壮性的最有力的途径之一,C语言中采用的错误处理方法被认为是紧耦合的,函数的使用者必须在非常靠近函数调用的地方编 写错误处理代码,这样会使得其变得笨拙和难以使用。C++中引入了异常处理机制,这是C++的主要特征之一,是考虑问题和处理错误的一种更好的方式。传统的错误处理和异常处理(c语言中的异常处理): 在函数中返回错误,函数会设置一个全局的错误状态标志;使用信

2017-05-04 13:45:11 336

原创 关于c++中模板的浅谈

泛型编程:代码复用的一种手段,通过模板来实现泛型编程,实现无类型代码实例化有类型代码。模板分为: 函数模板、类模板函数模板 :代表一个函数,该函数与类型无关,在使用时参数化,根据参数的类型来实例化函数的类型。 函数模板实例化:编译器用模板产生指定的类或者函数的特定类型版本,这个过程叫做函数模板的实例化。#include <iostream>#include <typeinfo>using

2017-05-03 21:21:15 274

原创 浅谈C++中的this指针

一个对象的this指针并不是对象本身的一部分,不会影响sizeof的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。 一个类里面有许多的成员,每个成员都能用自己的类名来调用。但是在参数与成员名字冲突的时候,就可以用this来进行区分。class Student{public: void se

2017-04-13 16:10:46 290

转载 震惊!!C语言中动态开辟居然...

malloc、calloc、realloc 函数原型如下:1.malloc void *malloc( size_t size );malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。void* 类型可以通过类型转换强制转换为任何其它类型的指针。如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应

2017-03-24 13:17:19 406

空空如也

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

TA关注的人

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