- 博客(19)
- 收藏
- 关注
原创 I/O多路复用—select总结
I/O多路复用—select总结1.基本概念 I/O多路复用是指系统一旦发现进程指定的一个或者多个I/O条件准备就绪,它就会通知该进程。 I/O多路复用适用与一下场合: (1)客户程序需要同时处理交互式的输入和服务器之间的网络连接。 (2)客户端需要对多个网络连接作出反应。 (3)TCP服务器需要同时处理多个处于监听状态和多个连接状态的套接字。 (4)服务器需要处理多个网络协
2017-07-31 20:08:32
387
原创 c++基础:指针_引用_const
1.学习引用 引用:引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。定义的格式为:类型 &引用变量名 = 已经定义过的变量名;引用的特点:1.一个变量可以区多个别名。2.引用必须初始化。3.引用只能在初始化的时候引用一次,不能改变为再引用其他变量。2.学习const引用3.学习引用做返回值和引用传参4.对比指针和引用
2017-07-03 16:55:53
254
原创 c++中函数重在的实现原理
1.剖析C++是如何实现重载的? #includeusing namespace std;int Add(int &a, int &b){return a + b;}double Add(double &a, double &b){return a + b;}int main(){int a = 2;int b = 3;int c = 0
2017-07-03 16:16:04
311
原创 正则表达式
1.什么是正则表达式规定一些特殊语法表示字符类、数量限定符合位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式。2.正则表达式的特点正则表达式参数用单引号括起来了,应为正则表达式中用到的很多特殊字符在Shell中也有特殊含义(例如\),只有用单引号括起来才能保证这些字符原封不动地传给个人陪命令,而不会被Shell解释掉3.使用实例1.验证用户名和密码:
2017-07-02 19:59:43
188
原创 shell进度条
1#!/bin/bash 2 3 i=0 4 bar='' 5 arr=('|' '/' '-' '\\') 6 index=0 7 while [ $i -le 100 ] 8 do 9 let index=i%4 10 printf "[%-74s][%d%%][%c]\r" "$bar" "$i" "${arr[$inde
2017-07-02 19:55:12
237
翻译 eval调研
eval()定义和用法eval() 函数把字符串按照 PHP 代码来计算。该字符串必须是合法的 PHP 代码,且必须以分号结尾。如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。反引号 `` 和 $() 的区别与联系 ‘$‘(参数替换)和‘`‘(命令替换)
2017-06-27 21:51:23
230
原创 无头单链表面试题
LinkList.h//逆序打印单项链表 void ReversePrint(pList plist);//删除无头单链表的非尾结点 void EraseNotTail(pNode pos);//在无头单链表的非头结点前插入一个元素 void InsertFrontNode(pNode pos, DataType x);//约瑟夫环问题 void Josep
2017-06-27 17:46:34
223
原创 无头单链表基本操作
LinkList.h#ifndef __LINK_LIST_H__#define __LINK_LIST_H__#include#include#includetypedef int DataType;//结构定义 typedef struct Node { DataType _data; struct Node* _next
2017-06-23 20:11:38
320
原创 URG和PSH
1. 是什么? URG:紧急标志PSH:推标志2. 各自特点,如何使用? URG:当URG=1时,表示分段中有紧急数据应当加速传送PSH:推标志,该标置位时,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。在处理telnet或rlogin等交互模式的连接时,该标志总是置位的。当PSH=1时,要求发送方马上发送该分段,而接收方尽快的将报文交给应用层,不做队列处理
2017-06-19 15:47:33
456
原创 端口分类
端口号一般有65535个但是一般使用到的也就是十几个。(1)公认端口:从0 到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是http通讯。(2)注册端口:从1024到49151.它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。例如:许多系统处理动态端口从1024左右开始。(3)动态和或私有
2017-06-19 14:36:18
201
原创 ARP脚本
1.ARP协议ARP即地址解析协议,是获取物理地址的一个TCP/IP协议。某节点的IP地址的ARP请求被广播到网络上后,这个节点会收到确认其物理地址的应答,这样的数据包才会被传送出去。在网络通信时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址(Mac地址),而数据包首先是被网卡接收到再去处理上层的协议,如果接收到的数据包的硬件地址(Mac地址)与本机不符,则直
2017-06-19 13:46:59
235
原创 NAT技术与代理服务器
一、NAT1.什么是NATNAT,即Networ Address Translation,可译为网络地址转换或网络地址翻译。2.原理内网的数据到达网管时,被网关用NAT转换为公网IP。内网的数据分组是以网关的身份去访问internet,而网关区别内网的数据分组使用了端口,每个数据分组使用一个端口。在外网的主机看来,数据都是从内网的网关发送过来的,不同的是他们的端口。而这些端口是映射
2017-06-18 21:44:32
215
原创 CRC校验
1.什么是CRC校验CRC即循环冗余校验码:是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。2.怎么校验在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。
2017-06-18 21:03:32
361
翻译 路由生产算法
一、常见的路由生成算法 1.LS算法采用LS算法时,每个路由器必须遵循以下步骤:(1)确认在物理上与之相连的路由器并获得它们的IP地址。当一个路由器开始工作后,它首先向整个网络发送一个“HELLO”分组数据包。每个接收到数据包的路由器都将返回一条消息,其中包含它自身的IP地址。(2)测量相邻路由器的延时(或者其他重要的网络参数,比如平均流量)。为做到这一点,路由器向
2017-06-18 20:57:18
320
原创 路由生产算法
一、 常见路由表生成算法1. LS 算法采用LS算法时,每个路由器必须遵循以下步骤:(1)确认在物理上与之相连接的路由器并获取它们的IP地址。当一个路由器开始工作后,它首先向整个网络发送一个“HELLO”分组数据包。每个接收到数据包的路由器都将返回一条消息,其中包含他们自身的IP地址。(2)测量相邻路由器的延时(或者其他重要的网络参数,比如平均流量)。为做到这一点,路由向整个网络发
2017-06-18 19:55:41
420
原创 父进程等待子进程的异步版
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 void catchSig(int sig) 9 { 10 do{ 11 12 pid_t ret = waitpid(-1,NULL,WNOHANG); 13
2017-06-14 20:27:55
258
翻译 死锁
1.什么是死锁操作系统中有若干进程并发执行, 它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素, 谁也不能释放资源, 谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中两个或者多个进程无限期地等待永远不会发生的条件,系统处于停滞状态,这就是死锁。
2017-06-13 23:30:35
178
翻译 线程安全与可重入函数
线程安全线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程互斥,比如信号量(P、V操作),否则的话当多个线程调用此函
2017-06-13 23:08:57
307
原创 测试信号屏蔽与解除并递达
1 #include 2 #include 3 #include 4 #include 5 6 void showpending(sigset_t *pending) 7 { 8 int i = 1; 9 for(;i 10 if(sigismember(pending,i)){ 11 prin
2017-06-13 22:53:43
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人