自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wenqian 'blog

厚积薄发——Practice makes perfect !

  • 博客(14)
  • 资源 (7)
  • 收藏
  • 关注

原创 【数据结构】图的邻接矩阵存储实现

图的邻接表存储实现:http://blog.csdn.net/wenqian1991/article/details/24667287图的邻接表DFS和BFS算法:http://blog.csdn.net/wenqian1991/article/details/24812393这里则介绍图的另外一种存储方式:邻接矩阵。参考资料《大话数据结构》《C算法:卷二》一、图的数据结构图的邻接

2015-07-29 11:05:53 8160

原创 【数据结构|剑指Offer】单向链表的各项操作实现

本博文着重实现《剑指Offer》上面的单向链表操作。//数据结构struct ListNode{ int data; ListNode *next; ListNode(int x) :data(x), next(NULL) {}};//在链表尾部添加结点void AddToTail(ListNode **pHead, int value){ ListNode *pNew =

2015-07-27 12:10:44 973

原创 【设计模式】单例模式(singleton pattern)

单例模式(singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。如何保证一个类只有一个实例并且这个实例易于被访问呢?一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个对象。一个更好的办法是,让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法,这就是 Singleton 模式。Singleton 类UML图

2015-07-21 21:52:38 799

原创 【Linux 内核网络协议栈源码剖析】recvfrom 函数剖析

继前篇介绍完sendto 数据发送函数后,这里介绍数据接收函数 recvfrom。一、应用层——recvfrom 函数对于这个函数有必要分析一下,先看看这个dup例子。服务器端中调用recvfrom函数,并未指定发送端(客户端)的地址,换句话说这个函数是一个被动函数,有点类似于tcp协议中服务器listen 之后阻塞,等待客户端connect。这里则是服务器端recvfrom后,等待客户端

2015-07-16 19:14:26 16408

原创 【Linux 内核网络协议栈源码剖析】sendto 函数剖析

前面介绍的函数基本上都是TCP协议的,如listen,connect,accept 等函数,这都是为可靠传输协议TCP定制的。对于另一个不可靠udp协议(通信系统其可靠性交由上层应用层负责),则主要由两个函数完成,sendto 和 recvfrom 函数。这里先介绍 sendto 函数。对于 udp 协议的介绍和编程实现请参考下文:UDP 客户/服务器简单 Socket 程序简要介绍下UD

2015-07-16 10:24:43 12760 5

原创 【Linux 内核网络协议栈源码剖析】ARP地址解析协议

ARP地址解析协议理论前篇参见ARP与RARP,这里则通过源码(Linux kernel 1.2.13;net\inet\arp.c)来剖析其内部原理及实现过程。

2015-07-09 20:54:20 6870 2

原创 【Linux 内核网络协议栈源码剖析】accept 函数剖析

好,tcp 协议建立连接的几个函数到这,就还差个accept 函数,这里直接贴代码了,不再向前面那般赘述了。一、应用层——accept 函数该函数返回一个已建立连接的可用于数据通信的套接字。#include int accept(int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen);//返回:非负描述子——成功,-1——

2015-07-07 21:55:56 4649 1

原创 【Linux 内核网络协议栈源码剖析】数据包接收(含TCP协议状态变换)

接前文connect 函数剖析(一)接收数据包函数,release_sock 函数是在 sock.c中,该函数是在 inet socket 层,其内部的数据结构为 sock 结构该函数被 tcp_connect 函数最后调用,用于接收数据包//如果对应的套接字正忙或被中断,则将数据包暂存到sock结构back_log队列中,这不能算被接收//数据包要插入receive_queue

2015-07-07 21:39:28 4923

原创 【Linux 内核网络协议栈源码剖析】connect 函数剖析(二)

网络层——ip_build_header 函数前篇(跳跃有点大,记得理清思路找到被调用位置,参见connect(一))介绍的 tcp_connect 函数内部调用了 build_header函数,实则是ip层的 ip_build_header 函数,该函数的主要功能是创建合适的 mac和ip头部/* * This routine builds the appropriate hard

2015-07-07 15:14:03 2081

原创 【Linux 内核网络协议栈源码剖析】数据包发送

release_sock 函数是在 sock.c中//如果对应的套接字正忙或被中断,则将数据包暂存到sock结构back_log队列中,这不能算被接收//数据包要插入receive_queue中才能算真正完成接收//release_sock函数则是从back_log中取数据包重新调用tcp_rcv函数对数据包进行接收void release_sock(struct sock *sk)

2015-07-06 10:53:12 4814

原创 【Linux 内核网络协议栈源码剖析】connect 函数剖析(一)

TCP客户用 connect 函数来建立与 TCP 服务器的连接,其实是客户利用 connect 函数向服务器端发出连接请求。1、应用层——connect 函数#include int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);/*sockfd是由socket函数返回的套接口描述字,第

2015-07-02 09:17:03 5212

原创 【Linux 内核网络协议栈源码剖析】listen 函数剖析

listen 函数仅供服务器端调用,把一个未连接的套接字转换为一个被动套接字,指示内核应接受指向该套接字的连接请求。1、应用层——listen 函数#include int listen(int sockfd, int backlog);/*sockfd是bind之后的套接口描述字,第二个参数规定了内核应该为相应套接口排队的最大连接个数*/2、BSD Socket 层——sock_li

2015-07-01 18:48:15 2908

原创 【Linux 内核网络协议栈源码剖析】bind 函数剖析

bind 函数主要是服务器端使用,把一个本地协议地址赋予套接字。1、应用层——bind 函数#include int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);/*sockfd是由socket函数返回的套接口描述字,第二个参数是一个指向特定于协议的地址结构的指针,第三个参数是该地址结构的长度*

2015-07-01 16:52:26 3379 1

原创 【Linux 内核网络协议栈源码剖析】socket 函数剖析

深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来。

2015-07-01 12:43:57 7026 4

排序二叉树完整代码

本代码涵盖二叉查找树的创建,插入,删除,添加,遍历等操作,结合http://blog.csdn.net/wenqian1991/article/details/18228309 可理解

2014-03-01

proteus8086实验指导书

8086的proteus仿真 实验指导书,比干巴巴的看编译器仿真好多了

2012-05-13

微机原理与接口技术重点难点及典型题精解

西交大出版的,同系列的电气类书籍都不错,市面上关于微机的参考书籍比较少(除教材配套的),

2012-04-04

C++项目实践

如题目所言,不过里面只有一个大型的C++开发项目,工资管理系统开发

2012-02-20

数据结构与算法分析 C++描述

很好的资料,正如题目所描述的那样,非常经典的一本书

2012-02-18

J-Link用户手册(中文)

J-Link用户手册(中文) 笔记本调试arm开发板

2011-05-24

空空如也

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

TA关注的人

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