自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (29)
  • 收藏
  • 关注

原创 建立TCP连接的三次握手

(1) client发送一个SYN报文段来发起一个连接,指明client打算连接的server的端口,以及初始序号(ISN)。(2) server发回一个SYN报文段,将确认号设为client的ISN+1,以对client的SYN报文段进行确认,同时设置server的初始序号,以发起一个连接。(3) client将确认号设置为server的ISN+1,以对服务器的SYN报文段进行确认。

2012-09-23 21:13:02 578

原创 DNS:域名系统

DNS是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。这里提到的分布式是指在Internet上的单个站点不能拥有所有的信息。每个站点(如大学中的系、校园、公园或公司中的部门)保留它自己的信息数据库,并运行一个服务器程序供Internet上的其他系统(客户程序)查询。DNS提供了允许服务器和客户程序相互通信的协议。从应用的角度看,对DNS

2012-09-23 20:43:40 1895

原创 Traceroute

windows系统下windows系统下执行Traceroute命令:Tracert hostname用于侦测主机到目的主机之间所经路由情况。Traceroute的原理:在解析出目的主机的IP后,首先给目的主机发送一个TTL=1的UDP数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包丢弃,并同时产生一个超时的ICM

2012-09-23 17:08:03 674

原创 ICMP、IGMP

ICMP报文的类型由报文中的类型字段和代码字段共同决定,分为两大类:查询报文和差错报文。IGMP协议版本:V1/V2/V3类型:query/report

2012-09-23 14:12:40 733

原创 L3转发

如果在L2转发流程中,查目的MAC地址表时发现L3 bit设置了,就进入L3转发流程。与L2交换相比,L3路由可以实现跨VLAN转发,而且它的转发依据的是目的IP,而不是目的MAC地址。在L3转发中,首先对L3头部进行校验,校验和错的包直接丢弃。然后在L3_ENTRY表中进行原IP地址查找,如果匹配不到,会将报文上报到CPU,由CPU进行相应处理,并更新L3接口表。下一步进行目的IP地

2012-09-23 14:02:47 3189

原创 线程互斥

static int value = 0;pthread_mutex_t mutex;void *fun(void *args){while(1){pthread_mutex_lock(&mutex);Sleep(1);value++;printf("value = %d!\n", value);pthread_mutex_unlock(&mutex);

2012-09-16 10:11:14 454

原创 线程等待

void *func(void *args){Sleep(2);printf("this is func!\n");}void main(){pthread_t pid;if(pthread_create(&pid, NULL, func, NULL)){return -1;}/*用于等待一个线程的结束如果代码中没有pthread_j

2012-09-15 22:55:14 439

原创 多线程

void *func_1(void *args){while(1){Sleep(1);printf("this is func_1!\n");}}void *func_2(void *args){while(1){Sleep(2);printf("this is func_2!\n");}}void main(){/*

2012-09-15 22:34:03 420

原创 管道通信

管道是半双工的,数据只能向一个方向流动,需要双方通信时,需要建立起两个管道。管道只能用于父子进程或兄弟进程之间的通信。管道的读写规则:管道两端可分别用描述字fd[0]以及fd[1]来描述。需要注意的是,管道两端是固定了任务的,即fd[0]只能用于读,fd[1]只能用于写。int pipe_default[2];void main(){pid_t pid;ch

2012-09-15 22:17:14 521

原创 父进程与子进程

子进程与父进程之间除了代码是共享的之外,堆栈数据和全局数据均是独立的。void main(){pid_t pid;/*fork函数被调用一次但返回两次。为什么fork会返回两次?由于子进程在复制时复制了父进程的堆栈段,所以两个进程都停留在fork函数中,等待返回,这样就会有两个返回值。*/if (-1 == (pid == fork())){printf

2012-09-09 19:54:20 716

原创 设计定时器

定时器是我们需要经常处理的一种资源。在linux里面有一种进程中信息传递的方法,那就是信号。这里的定时器,就相当于系统每隔一段时间给进程发一个定时信号,我们所要做的就是定义一个信号处理函数。#include struct timeval{long tv_sec;  //提供秒级精度long tv_usec;  //提供微秒级精度};/*如果只指定it_v

2012-09-09 13:44:23 807

原创 IP首部、TCP首部、UDP首部

IP首部版本:L3协议版本号,IPv4或IPv6首部长度:单位为4字节协议:L4协议类型TTL生存时间字段设置了数据报可以经过的最多路由器数。一旦经过一个处理它的路由器,它的值就减1。当该字段值为0时,数据报就被丢弃,并发送ICMP报文通知源主机。源端口号、目的端口号,用于寻找发送端和接收端应用进程。32位序号:用于标识从TCP发端向TCP收端发送的

2012-09-09 11:13:41 23229 1

原创 linux相关工具

linux编译、链接工具:gcc, as,ld调试工具:gdb自动编译工具:makevoid main(){printf("hello!\n");return;}编译过程:1. gcc hello.c -o hello2. ./hello反汇编过程:1. gcc hello.c -g -o hello2. objdump -s -

2012-09-09 10:53:23 656

原创 netlink套接字

netlink套接字主要用于同一PC用户进程与kernel之间的通信。AF_INET套接字主要用于PC与PC间的通信。netlink套接字可以使用标准的套接字APIs来创建。socket(), bind(), sendmsg(), recvmsg()和close(),很容易地应用到netlink socket。netlink标准接口包含于头文件linux/netlink.h中

2012-09-08 00:34:22 1090

C#+SQL Server在线商店管理系统源代码

C#+SQL Server在线商店管理系统源代码

2008-07-26

C#+SQL Server在线考试管理系统源代码

C#+SQL Server在线考试管理系统源代码

2008-07-26

C#+SQL Server学生管理系统源代码

C#+SQL Server学生管理系统源代码

2008-07-26

C#+SQL Server图书出租管理系统源代码

C#+SQL Server图书出租管理系统源代码

2008-07-26

C#+SQL Server酒店管理系统源代码

C#+SQL Server酒店管理系统源代码

2008-07-26

C#+SQL Server电子相册源代码

C#+SQL Server电子相册源代码

2008-07-26

C#+SQL Server办公管理系统源代码

C#+SQL Server办公管理系统源代码

2008-07-26

C#+SQL Server班级管理系统源代码

C#+SQL Server班级管理系统源代码

2008-07-26

jsp+oracle用户管理系统源码

jsp+oracle用户管理系统源码

2008-07-21

jsp+oracle新闻发布系统源码

jsp+oracle新闻发布系统源码

2008-07-21

jsp+oracle网上投票系统源码

jsp+oracle网上投票系统源码

2008-07-21

jsp+oracle网上商店源码

jsp+oracle网上商店源码

2008-07-21

jsp+oracle网上求职系统源码

jsp+oracle网上求职系统源码

2008-07-21

jsp+oracle企业管理系统源码

jsp+oracle企业管理系统源码

2008-07-21

jsp+oracle留言板源码

jsp+oracle留言板源码

2008-07-21

jsp+oracle成绩管理源码

jsp+oracle成绩管理源码

2008-07-21

jsp+sql新闻网站系统源码

jsp+sql新闻网站系统源码

2008-07-21

jsp+sql物流管理系统源码

jsp+sql物流管理系统源码

2008-07-21

jsp+sql企业进销存管理系统源码

jsp+sql企业进销存管理系统源码

2008-07-21

JSP+SQL客户管理系统源码

JSP+SQL客户管理系统源码

2008-07-21

JSP+SQL高校毕业论文设计范例

JSP+SQL高校毕业论文设计范例

2008-07-21

JSP+SQL办公自动化系统(OA)源码

JSP+SQL办公自动化系统(OA)源码

2008-07-21

More Effective C++ 简体中文版

这还用介绍吗,经典不用说

2008-07-19

Effective C++ 3rd Edition 中文版

这还用介绍吗,经典不用说

2008-07-19

算法导论习题解答

经典算法书籍算法导论的习题集答案,给有需要的人

2008-07-19

windows程序设计

学习windows程序设计最好的书籍,微软出的,很全面。

2008-07-19

MFC深入浅出

学习MFC内部各种机制最好的书,并且真的是由浅入深

2008-07-19

ISO7816智能卡读写程序源码

这是ISO7816智能卡读写程序源码

2008-04-10

空空如也

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

TA关注的人

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