自定义博客皮肤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)
  • 收藏
  • 关注

原创 高级I/O之多路转接select

一.关于I/O要提高网络服务服务器,提高I/O性能,本质上是在提高“等”的比重,“等”的比重趋于零,性能越好,而I/O中为了减少等的比重,可以让I/O一次等多个文件描述符,即I/O模型中的多路复用模型,本文则讨论的是多路复用之select模型二.select函数1.select函数的作用系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态

2017-06-29 12:55:15 301

原创 linux网络编程之udp套接字

一 .关于udp1.udp的概述udp的全称是用户数据报协议,他和tcp协议一样用于处理数据包,是一种无连接面向数据报的传输层协议,由于udp不提供对数据的分组,组装和不能对数据进行排序的缺点,导致udp在数据发完之后,不能确认数据是否完全到达,但是udp又有着在资源消耗少,传输效率高的优点。由于udp本身的缺点,导致其在网络差的环境下会发生严重丢包现象,故其适用于音频,视频,普通数据的传送,偶尔丢

2017-06-26 22:48:31 488

原创 linux网络编程之服务器

基于tcp协议的网络程序1.所用函数:socket函数 socket()打开一个网络端口,如果成功,就像open()一样返回一个文件描述符,应用程序可以像读写文件一样用read/write在网络上首发数据,如果调用出错返回-1bind函数: 服务器程序所监听的网络地址和端口号通常是固定不变得,客户端程序得知服务器程序的地址和端口后就可以向服务器发起连接,因此需要调用bind()绑定一个固定的

2017-06-23 17:19:31 393

原创 linux网络编程之tcp的三次握手和四次挥手

一 .tcp协议的通信tcp的通信过程分为三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道下图为tcp的通信过程示意图: 建立tcp连接通道:三次握手 断开tcp连接通道:四次挥手二.详解三次握手和四次挥手三次握手建立连接:第一次握手:客户端发送tcp报文到服务器,其中syn标志位1,seq=x(x为A的初始序列号,随机数),然后启动计时器,等待接收服务器的应答。该报文段成为SY

2017-06-20 15:29:21 971

原创 linux网络编程之TCP定时器

TCP的四种定时器重传计时器:Retransmission Timer坚持计时器:Persistent Timer保活计时器:Keeplive Timer时间等待计时器:Time_Wait Timer。重传计时器 为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能发生两种情况:若在计时器超时之前收到对报文段的确认,

2017-06-20 09:43:10 398

原创 TCP协议中的URG和PSH标志位的区别

一.tcp协议1.tcp协议的段格式如下图:2. tcp协议中的六个标志位及其含义:URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据。ACK 置1时表示确认号()为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。 PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。 RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错误。

2017-06-20 08:07:13 2434

原创 linux网络编程之端口分类调研

一.端口的概念在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。由于物理端口和逻辑端口

2017-06-19 16:38:11 617 1

原创 linux网络编程之NAT技术与代理服务器调研

一.NAT技术概念NAT技术:(Network Address Translation,网络地址转换),当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所

2017-06-19 16:16:47 1090

原创 linux之ARP脚本

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

2017-06-18 16:24:34 556

原创 linux之CRC校验

一.CRC的定义CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。二.工作原理循环冗余校验码(CRC)的基本原理是:在K位信息码

2017-06-12 14:54:06 990

原创 linux基础之守护进程

一.守护进程(Daemon)1.关于守护进程守护进程,顾名思义,也就是专门守护一个进程的进程。守护进程的职责就是专门确保被指定的进程的运行。 守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端,并且周期性的执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程,linux的大多数服务器就是用守护进程实现的。比如:Internet服务器inetd。Wed服务

2017-06-09 07:30:48 761

原创 Linux计划任务cron

一.关于crondcrond的作用 crond是Linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有 要执行的工作便会自动执行该工作。而Linux任务调度的工作主要分为以下两类:系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮

2017-06-07 18:03:14 484

原创 linux基础之gdb调试多进程,多线程

一.gdb常用目录表 操作 描述 l 命令相当于list,从第一行开始列出源码 回车 重复上一次命令 break +行号 设置断点 break+函数名 在函数的入口点设置断点 r 运行程序running的简写 into break 查看断点信息 n 单语句执行 ,next的简写 c 继续运行程序,continue的简写 bt

2017-06-07 12:37:30 447

空空如也

空空如也

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

TA关注的人

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