自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (59)
  • 问答 (1)
  • 收藏
  • 关注

原创 保证分布式系统数据一致性

问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性?具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单介绍下数据一致...

2020-03-10 12:21:21 246

原创 主题:Django资源大全

最近经常在这个版面看到Django相关扩展的介绍,而其一个扩展写一个帖子,觉得没太必要吧。以前整理的django资源列表,从我的wiki上转过来的。要找django资源,官网的wiki也是一个不错的地方。http://code.djangoproject.com/wiki/DjangoResources资源django官网django文档Django Ste

2013-05-25 08:53:00 1956

原创 kerberos安装配置

安装步骤: 1.下载krb5-1.9 http://web.mit.edu/kerberos/dist/krb5/1.9/krb5-1.9-signed.tar 2.解压 tar -xvf krb5-1.9.signed.tar 生成krb5-1.9.tar.gz 和krb5-1.9.tar.gz.asc 继续解压tar zxvf krb5-1.9.tar.gz

2012-09-05 18:20:11 5546

原创 Hadoop 的HA高可集群用性

一、 Hadoop 的高可用性1. 概论本指南提供了一个HDFS 的高可用性(HA )功能的概述,以及如何配置和管理HDFS 高可用性(HA) 集群。本文档假定读者具有对HDFS 集群的组件和节点类型具有一定理解。有关详情,请参阅Apache 的HDFS 的架构指南。http://hadoop.apache.org/common/docs/current/hdfs_design.htm

2012-09-05 17:25:54 16559

原创 CDH4 高可用集群指南

一、 Hadoop 的高可用性1. 概论本指南提供了一个HDFS 的高可用性(HA )功能的概述,以及如何配置和管理HDFS 高可用性(HA) 集群。本文档假定读者具有对HDFS 集群的组件和节点类型具有一定理解。有关详情,请参阅Apache 的HDFS 的架构指南。http://hadoop.apache.org/common/docs/current/hdfs_design.h

2012-09-05 17:20:52 4608

原创 Hadoop0.23.0初探4---让你的第一个YARN MapReduce跑起来

前言klose的Hadoop0.23.0初探的系列文章的前三篇分别介绍了:Hadoop的变迁的前因后果、HDFS Federation的配置、以及HDFS的NN、SNN、BN和HA之间的关系。第四篇为文章稍微减负以下,主要介绍Yarn的部署,以及跑第一个HelloWorld(MapReduce wordcount)。YARN框架介绍MapReduce跑起来" title="Hadoop

2012-08-30 13:07:13 1676

原创 Hadoop0.23.0初探3---HDFS NN,SNN,BN和HA

前言保证HDFS高可用是Hadoop被推广以来很多技术人员一直关心的问题,通过搜索引擎搜索也可以得到很多的方案。恰逢HDFS Federation出炉,本文将一些涉及到有关NameNode、SecondaryNameNode、BackupNode的含义与区别,以及HDFS HA框架做一个总结。除此之外,文章的最后,将介绍Hadoop-0.23.0如何配置NameNode、SecondaryNa

2012-08-30 13:04:51 1616

原创 Hadoop0.23.0初探2---HDFS Federation部署

Hadoop的目录文件结构:.|-- LICENSE.txt|-- NOTICE.txt|-- README.txt|-- bin|-- conf|-- etc|-- export_hadoop.sh|-- hadoop-0.23.0-gridmix.jar|-- hadoop-0.23.0-streaming.jar|-- hadoop-mapredu

2012-08-30 12:58:34 1259

原创 Hadoop0.23.0初探1---前因后果

最近Hadoop社区最火热的事情莫过于Hortonworks公布了Hadoop最新版本(0.23.0),它标志着Hadoop新时代的到来。本文作为系列文章的第一篇,将结合Hadoop-0.20.*的特点,以及Hadoop核心理念,分析Hadoop新版本的特征。1、Hadoop 0.20.*的局限性HDFS单NameNode的不足    1)扩展性问题。可以随着数据量进行

2012-08-30 12:31:23 1372

原创 Apache Commons Configuration笔记

Apache Commons Configuration 很多人都应该熟悉吧,操作配置文件的工具包。Configuration可以操作如下类型的文件:Properties filesXML documentsWindows INI filesProperty list files (plist)JNDIJDBC DatasourceSystem proper...

2012-06-18 17:37:54 157

原创 Hadoop权限管理

1. 介绍本文介绍的Hadoop权限管理包括以下几个模块:(1) 用户分组管理。用于按组为单位组织管理,某个用户只能向固定分组中提交作业,只能使用固定分组中配置的资源;同时可以限制每个用户提交的作业数,使用的资源量等(2) 作业管理。包括作业提交权限控制,作业运行状态查看权限控制等。如:可限定可提交作业的用户;可限定可查看作业运行状态的用户;可限定普通用户只能修改自己作业的

2012-04-17 09:57:04 3368

原创 天之虹:浅谈游戏数据的积累、挖掘与分析

编者按:游戏数据整理和分析是一项繁琐而枯燥的工作,急性子很难处理好这样的事情。而本文作者以“挖矿”主线向大家生动而形象地介绍了数据的获取、积累、整理、分析等数据处理的全过程。文中时不时会有一些形象而生动的例子,相信你会觉得这一篇让人感觉轻松愉快而又十分有价值的文章。欢迎更多的游戏人就相关问题和小编一起讨论。比如道具种类分布和相关数值设定,游戏规则的修改等。  摘要  本文从数据出发

2012-04-07 15:32:14 2570

原创 网游商业智能系统数据采集内容设计

【此版本为联众版,系统是韩国人设计的;与盛大等公司不同之处在于,盛大BI系统是以PRAPA模型为指导思想为基础建立的。目前国内网游公司商业智能体系比较完善的当属腾讯和盛大,完美和畅游的不曾有深度了解,联众版可以满足一般性公司使用了,在数据可视化方面还需要你们自己探索了。】  【每日】【用户数量描述】1、在线人数:(取当日某个时刻最高在线,一般在9:30左右)2、新进

2012-04-06 16:13:53 1195

原创 Hive导出数据到MYSQL . 笔记

1. vim export.sql:SELECTIF(player_id is not NULL,player_id,'  '),IF(regist_time is not NULL,regist_time,0),IF(online_time_num is not NULL,online_time_num,0),IF(last_login_time is not N

2012-03-27 21:07:10 2946

原创 MAPREDUCE面试题

Map/Reduce功能很强大,只要设定合理Key、Value,我们经常碰到的算法大部分都可以实现。假如能把下面几个算法问题,用Map/Reduce方式实现,那么Map/Reduce编程可以说已经运用很纯熟了。 初级篇 0. 实现Word Count 中级篇 1. Map/Reduce方式实现矩阵相乘 2. Map/Reduce方式实现PageRank算法 ...

2012-02-15 14:17:02 124

原创 wait notify 都是Object的方法

注:wait notify 都是Object的方法同步(阻塞) :是一种防止对共享资源访问导致的数据不一致的一种模式。详细请参看操作系统。在Java中,由于对多线程的支持,对同步的控制主要通过以下几个方法,synchronized,和wait(),notify()和notifyAll(),下面进行一一的讲解:A关键字synchronized每个jav

2012-02-02 16:15:56 2816

原创 Twitter Storm的一些关键概念

[size=large]Twitter Storm的一些关键概念[/size] 这篇文章翻译自storm官方wiki: https://github.com/nathanmarz/storm/wiki/Concepts, 主要介绍storm的一些关键概念。storm的一些关键概念如下:TopologiesStreamsSpoutsBoltsStre...

2012-01-14 23:44:27 87

原创 Twitter Storm简介

Twitter Storm简介from: http://xumingming.sinaapp.com/109/twitter-storm简介/ 本文翻译自storm官方wiki: https://github.com/nathanmarz/storm/wiki/Rationale背景过去的十年是数据处理变革的十年, MapReduce, Hadoop以及一些相关的技...

2012-01-14 23:39:14 171

原创 3.2 内存中的DataModel

3.2 内存中的DataModel这是个抽象概念,在Mahout中,recommender的输入数据是DataModel。DataModel的实现为各种推荐器算法需要的数据提供了有效的使用。例如,一个DataModel可以在输入数据中,提供一个包括所有user IDs的列表,或提供与一个item相关联的所有分值,或者提供一个为一系列item IDs打分的所有用户的列表。我们将会集中研究一些hi

2012-01-11 18:13:17 918

原创 3 推荐数据的呈现

这章主要讲述: 。Mahout如何展现推荐器的数据。DataModel 的实现及其用法 。没有评分数据 Recommendations的质量主要是由数据的数量和质量决定的。“无用输出,无用输入” 在这里是最真实的。同样,推荐器算法都是集中数据,运行的性能主要受数据的数量和展现的影响。这一章介绍Mahout的一些关键class,和访问推荐器相关的数据。3.1

2012-01-11 16:01:50 1090

原创 2.6 推荐器介绍-小结

在这章里,我们介绍了推荐引擎的概念。通过一个少量输入,创建一个简单的Mahout recommender,通过一个简单的计算来运行并解释了这个结果。

2011-12-23 14:54:32 708

原创 2.5 评估 GroupLens数据集

用这些在进行中的工具,我们将可能不仅讨论速度,也讨论我们创造和修改的推荐引擎的质量。虽然大量真实数据的例子仍然要过几章才能讲到,我们将花一些时间在一个小型数据集合上去快速评估性能。2.5.1 提取推荐器输入数据 GroupLens (http://grouplens.org/)是一个研究项目,它提供几个不同型号的数据集合,每一个都来自于真实的用户对电影的评分。这是几个有效的大型

2011-12-23 14:52:32 3288

原创 2.4 推荐器评估的精度和调用

我们也可以得到一个关于recommender问题的更宽广的看法:对生产recommendations我们不用必须估计首选项值。没必要总是对用户提供估计的首选项值。在很多情况下,我们所想要的是一个recommendations的从最好到最差的排序列表。事实上,在有些情况下,我们不是很关心列表的精确排序:一组有点好的recommendations是好的。用更一般的看法,我们也可以把经典

2011-12-23 14:45:54 1306

原创 2.3 推荐器的评估

差值的平均值这是一个推荐引擎的工作,用来解释下面的问题:“对用户来说,怎么的推荐数据才是最好的”。在搞清楚这个的答案之前,我们首先应该解决这个问题。一个好的推荐数据精度指的是什么?我们需要知道产出一个怎么样的推荐器来产生他们?本节的下面部分将会探讨对一个推荐器的考核。因为它是一个工具,当我们开始思考特殊的推荐系统时,它将会是很有用的。最优秀的推荐器,能够感知你的心灵。它以某种方式知道你可能

2011-12-23 14:34:14 1291 1

原创 2.2 运行第一个推荐引擎

Mahout包含一个推荐引擎的几种类型,事实上包含传统的基于用户(user-based),基于项目(item-based)推荐算法,也包括基于“slope-one”技术的实现(这一个新的有效的方法)。你将根据实验,基于单机版的(SVD)初步实现。在下面的章节里,我们将会在Mahout的背景下和一些现实生活中的例子,来回顾上面的观察结果。我们将会考虑如何代表数据,如何进行有效的推荐算法,

2011-10-19 19:09:27 1075

原创 Linux下的各种压缩文件:tar gz bz2 tgz zip等

对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux...

2011-10-19 12:20:09 116

原创 2 推荐器

2   推荐器 本章的主要内容:*  在Mahout中推荐器Recommender是什么样的*  运行第一个推荐器Recommender*  评估推荐引擎的准确和质量*  用GroupLens网站的真实的数据来评估推荐器每天我们都会有对周围的东西有一些看法和观点,这些东西可能是我们喜欢的,不喜欢的,还有莫不关心的东西 ,这些通常发生在不知不觉中。

2011-10-18 21:21:41 678

原创 1.3 驾驭Mahout和Hadoop,处理数据

1.3 驾驭Mahout和Hadoop,处理数据1.4 Mahout的安装

2011-10-18 21:06:33 749

原创 1. Mahout 若只如初见

1.  Mahout 若只如初见本章组要内容有:    * Mahout 是什么,她从哪里来    *  真实世界中的 推荐引擎、聚集、分类 的花容月貌    *  安顿好我们的大象夫 Mahout

2011-10-18 20:28:34 545

原创 Mahout in action 目录

1.  初识Mahout对应英文版:1. Meet Apache Mahout  Part 1 Recommendations2. Introducing recommenders3. Representing da

2011-10-18 20:22:26 631

原创 CentOS6 安装及笔记

Centos 桌面/命令行 启动vi /etc/inittab找到id:x:initdefault: 桌面系统是id:5:initdefault:,即默认以X11(即图形界面)模式启动。设置成id:3:initdefault: reboot重新启动命令行下,要想在进入图形界面:startx,就行了。CentOS 安装及笔记vi /etc/yum.repos...

2011-10-12 10:36:53 69

原创 经典项目

中小规模即时统计分析分布式框架[url]http://code.google.com/p/cheep-worker/[/url]搜索/推荐引擎技术 (17)[url]http://backsnow.iteye.com/category/120832[/url]Mahout in action (21)[url]http://running.iteye.com/categ...

2011-10-02 19:03:33 80

原创 Linux MySql

安装:yum install mysql-server ; mysql-develshow databases;权限具体操作步骤:关闭mysql:# service mysqld stop然后:# mysqld_safe --skip-grant-tables启动mysql:# service mysqld startmysql -u roo...

2011-10-02 09:35:12 60

原创 SSh Agent admitted failure to sign using the key

现有2台机器1、服务器192.168.1.1122、个人机192.168.1.110要使110无需密码通过ssh登入112步骤1、创建密钥Java代码 收藏代码 1. miao@u32-192-168-1-110:~/.ssh$ ssh-keygen -t rsa 2. 3. Generating publ...

2011-10-02 09:03:56 122

原创 Hadoop 、HBase 网页收藏

Hadoop 数据类型与文件结构剖析 Sequence, Map, Set, Array, BloomMap Files[url]http://blog.nosqlfan.com/html/1217.html[/url]HBase 文件结构图[url]http://blog.nosqlfan.com/html/1135.html[/url]Avro入门1–序列化...

2011-09-27 17:02:09 91

原创 C.C++ 中 size_t

size_t在C语言中就有了。它是一种“整型”类型,里面保存的是一个整数,就像int, long那样。这种整数用来记录一个大小(size)。size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。通常我们用sizeof(XXX)操作,这个操作所得

2011-08-27 08:52:48 3781

原创 C/C++ 学习资料

Boost学习:中文经典入门: [url]http://zh.highscore.de/cpp/boost/[/url]官方文档: [url]http://www.boost.org/doc/libs/1_47_0/[/url]Nginx学习:Nginx中文网[url]http://www.nginx.com.cn/[/url][url]http://www.ng...

2011-08-24 22:41:44 177

原创 经典开源C/C++项目

C/C++ SOAP工具包 gSOAPgSOAP一种跨平台的C和 C++软件开发工具包。生成C/C++的RPC代码,XML数据绑定,对SOAP Web服务和其他应用形成高效的具体架构解析器,它们都受益于一个XML接口。 这个工具包提供了一个全面和透明的XML数

2011-08-08 00:25:20 7758

原创 决策树之分类回归树(C&RT)

分类回归树  Classification and RegressionTree(C&RT)  优点(1)可自动忽略对目标变量没有贡献的属性变量,也为判断属性变量的重要性,减少变量数据提供参考;(2)在面对诸如存在缺失值、变量数多等问题时C&RT 显得非常稳健(robust);(

2011-07-15 23:16:28 18650 1

原创 Clementine算法-------------决策树 C&RT、CHAID、QUEST、C5.0的区别

决策树(Decisiontree)一般都是自上而下的来生成的。每个决策或事件(即自然状态)都可能引出两个或多个事件,导致不同的结果,把这种决策分支画成图形很像一棵树的枝干,故称决策树。优点:  1) 可以生成可以理解的规则;  2)   计算量相对来说不是很大;  3)   可以

2011-07-15 23:11:48 5748

Jboss教程PDF 中文教程

Jboss 入门 教程 PDF Jboss 入门 教程 PDF Jboss 入门 教程 PDF

2009-10-18

JAVA毕业设计项目CD 源代码

JAVA毕业设计项目CD JAVA毕业设计项目CD JAVA毕业设计项目CD 评论+评分后即可返回1分。。O(∩_∩)O 。。谢谢支持。。

2009-10-17

GoogleMapsExample.rar

GoogleMapsExample.rar

2009-10-17

iReport 用户手册 中文 教程

iReport 用户 手册 中文 教程 ; 中文的教材,不好找哦。 评论+评分后即可返回1分。。O(∩_∩)O 。。谢谢支持。。 可以看一下我的博客: http://caizhongda.javaeye.com/blog/493027

2009-10-17

java ajax 上传组件.rar

java ajax 上传组件.rar java ajax 上传组件.rar java ajax 上传组件.rar

2009-10-12

Ext 图标大全及应用.rar(绝对好用)

Ext 图标大全及应用.rar Ext 图标大全及应用.rar Ext 图标大全及应用.rar

2009-10-06

DWR 全攻略 教程 实例 笔记 培训

这个资料包含所有dwr学习的资料非常有用。希望对你学习dwr有帮助。。

2009-10-05

Extjs 学生成绩管理

Extjs 学生成绩管理 Extjs 学生成绩管理 Extjs 学生成绩管理 Extjs 学生成绩管理 Extjs 学生成绩管理

2009-10-02

ext blog 案例

ext blog 案例ext blog 案例ext blog 案例ext blog 案例ext blog 案例ext blog 案例ext blog 案例

2009-09-25

Lucene2.0+Heritrix搜索引擎(完整光盘).part2.rar

去下载这个吧。(完整版的) http://d.download.csdn.net/down/1756566/caizhongda Lucene2.0+Heritrix搜索引擎(完整光盘).part2.rar

2009-09-21

Lucene2.0+Heritrix搜索引擎(完整光盘) 重新发.rar.part1

别下这个哈。。去下载这个吧。(完整版的) http://d.download.csdn.net/down/1756566/caizhongda

2009-09-21

nutch总结(tu).chm

nutch总结(tu).chm nutch总结(tu).chm

2009-09-21

Lucene+Nutch搜索源码.part2.rar

Lucene+Nutch搜索源码.part1.rar rar 货真价实 希望对你有帮助

2009-09-21

Lucene+Nutch搜索源码.part1.rar

Lucene+Nutch搜索源码.part1.rar Lucene+Nutch搜索源码.part2.rar

2009-09-21

struts2 标签 api chm

struts2 标签 api chm struts2 标签 api chm struts2 标签 api chm struts2 标签 api chm

2009-09-19

搜索引擎sphider1.3.3

搜索引擎sphider1.3.3 搜索引擎sphider1.3.3搜索引擎sphider1.3.3搜索引擎sphider1.3.3搜索引擎sphider1.3.3搜索引擎sphider1.3.3搜索引擎sphider1.3.3

2009-09-19

Flex+SSH在线换物网站

Flex+SSH在线换物网站 这是例子是一个在线换物的网站。有兴趣的可以看看。 Flex+SSH+SQLServer写的。 文件解压缩以后会有两个文件夹 FBarter 和 JavaBarter ,分别把两个文件夹部署到 MyEclipse 中, 先启动 JavaBarter 项目,启动后,在运行 FBarter 。 本例子只是用于练习,可能会有错误,请大家包涵。

2009-09-18

基于STRUTS的电子邮件系统

我使用 10分下的这个东西..太贵了..我就发布一下给 希望对你有帮助,, STRUTS 电子邮件系统 邮件系统 基于STRUTS的电子邮件系统

2009-08-22

Together教程.rar

货真价实 而且是中文的 不好找的哦. Together教程.rar Together教程.rar

2009-06-06

Java正则表达式详解 .doc

Java正则表达式详解 很好的 Java正则表达式详解教程

2009-05-31

数值策划.数值模板.入门

通用游戏数值模板 excel 如何入数值策划的门 公式是怎么炼成的

2012-04-07

R语言学习资料,中文,英文

学习R语言,统计,数据分析的资料.非常全面... 希望对你学习R语言有帮助 0R 语言简介.pdf 0R4beg_cn_2.0.pdf 0dispense_R.pdf

2012-01-31

hbase权威指南.源代码

hbase权威指南.源代码.绝对经典。。 下载后评分+评论,即可返回分数.

2011-08-31

Linux网络编程 宋敬彬 孙海滨 书源代码

目 录 第1篇 Linux网络开发基础 第1章 Linux操作系统概述 2 1.1 Linux发展历史 2 1.1.1 Linux的诞生和发展 2 1.1.2 Linux名称的由来 3 1.2 Linux的发展要素 3 1.2.1 UNIX操作系统 4 1.2.2 Minix操作系统 4 1.2.3 POSIX 标准 4 1.3 Linux与UNIX的异同 5 1.4 操作系统类型选择和内核版本的选择 5 1.4.1 常见的不同公司发行的Linux异同 6 1.4.2 内核版本的选择 6 1.5 Linux的系统架构 7 1.5.1 Linux内核的主要模块 7 1.5.2 Linux的文件结构 9 1.6 GNU通用公共许可证 10 1.6.1 GPL许可证的历史 10 1.6.2 GPL的自由理念 10 1.6.3 GPL的基本条款 11 1.6.4 关于GPL许可证的争议 12 1.7 Linux软件开发的可借鉴之处 12 1.8 小结 13 第2章 Linux编程环境 14 2.1 Linux环境下的编辑器 14 2.1.1 vim使用简介 14 2.1.2 使用vim建立文件 15 2.1.3 使用vim编辑文本 16 2.1.4 vim的格式设置 18 2.1.5 vim配置文件.vimrc 19 2.1.6 使用其他编辑器 19 2.2 Linux下的GCC编译器工具集 19 2.2.1 GCC简介 19 2.2.2 编译程序的基本知识 21 2.2.3 单个文件编译成执行文件 22 2.2.4 编译生成目标文件 22 2.2.5 多文件编译 23 2.2.6 预处理 24 2.2.7 编译成汇编语言 24 2.2.8 生成和使用静态链接库 25 2.2.9 生成动态链接库 26 2.2.10 动态加载库 29 2.2.11 GCC常用选项 31 2.2.12 编译环境的搭建 33 2.3 Makefile文件简介 34 2.3.1 一个多文件的工程例子 34 2.3.2 多文件工程的编译 36 2.3.3 Makefile的规则 37 2.3.4 Makefile中使用变量 39 2.3.5 搜索路径 43 2.3.6 自动推导规则 44 2.3.7 递归make 44 2.3.8 Makefile中的函数 46 2.4 用GDB调试程序 47 2.4.1 编译可调试程序 48 2.4.2 使用GDB调试程序 49 2.4.3 GDB常用命令 52 2.4.4 其他的GDB 59 2.5 小结 60 第3章 文件系统简介 61 3.1 Linux下的文件系统 61 3.1.1 Linux下文件的内涵 61 3.1.2 文件系统的创建 62 3.1.3 挂接文件系统 64 3.1.4 索引节点inode 65 3.1.5 普通文件 66 3.1.6 设备文件 66 3.1.7 虚拟文件系统VFS 68 3.2 文件的通用操作方法 72 3.2.1 文件描述符 72 3.2.2 打开创建文件open()、create()函数 72 3.2.3 关闭文件close()函数 76 3.2.4 读取文件read()函数 77 3.2.5 写文件write()函数 79 3.2.6 文件偏移lseek()函数 80 3.2.7 获得文件状态fstat()函数 83 3.2.8 文件空间映射mmap()函数 85 3.2.9 文件属性fcntl()函数 88 3.2.10 文件输入输出控制ioctl()函数 92 3.3 socket文件类型 93 3.4 小结 93 第4章 程序、进程和线程 94 4.1 程序、进程和线程的概念 94 4.1.1 程序和进程的差别 94 4.1.2 Linux环境下的进程 95 4.1.3 进程和线程 96 4.2 进程产生的方式 96 4.2.1 进程号 96 4.2.2 进程复制fork() 97 4.2.3 system()方式 98 4.2.4 进程执行exec()函数系列 99 4.2.5 所有用户态进程的产生进程init 100 4.3 进程间通信和同步 101 4.3.1 半双工管道 101 4.3.2 命名管道 107 4.3.3 消息队列 108 4.3.4 消息队列的一个例子 114 4.3.5 信号量 116 4.3.6 共享内存 121 4.3.7 信号 124 4.4 Linux下的线程 127 4.4.1 多线程编程实例 127 4.4.2 Linux下线程创建函数pthread_create() 129 4.4.3 线程的结束函数pthread_join()和pthread_exit() 129 4.4.4 线程的属性 130 4.4.5 线程间的互斥 132 4.4.6 线程中使用信号量 133 4.5 小结 136 第2篇 Linux用户层网络编程 第5章 TCP/IP协议族简介 138 5.1 OSI网络分层介绍 138 5.1.1 OSI网络分层结构 138 5.1.2 OSI的7层网络结构 139 5.1.3 OSI参考模型中的数据传输 140 5.2 TCP/IP协议栈 141 5.2.1 TCP/IP协议栈参考模型 141 5.2.2 主机到网络层协议 143 5.2.3 IP协议 144 5.2.4 网际控制报文协议(ICMP) 146 5.2.5 传输控制协议(TCP) 150 5.2.6 用户数据报文协议(UDP) 154 5.2.7 地址解析协议(ARP) 156 5.3 IP地址分类与TCP/UDP端口 158 5.3.1 因特网中IP地址的分类 159 5.3.2 子网掩码(subnet mask address) 161 5.3.3 IP地址的配置 162 5.3.4 端口 163 5.4 主机字节序和网络字节序 163 5.4.1 字节序的含义 164 5.4.2 网络字节序的转换 164 5.5 小结 166 第6章 应用层网络服务程序简介 167 6.1 HTTP协议和服务 167 6.1.1 HTTP协议概述 167 6.1.2 HTTP协议的基本过程 168 6.2 FTP协议和服务 170 6.2.1 FTP协议概述 170 6.2.2 FTP协议的工作模式 172 6.2.3 FTP协议的传输方式 172 6.2.4 一个简单的FTP过程 173 6.2.5 常用的FTP工具 173 6.3 TELNET协议和服务 174 6.3.1 远程登录的基本概念 174 6.3.2 使用TELNET协议进行远程登录的工作过程 174 6.3.3 TELNET协议 174 6.4 NFS协议和服务 176 6.4.1 安装NFS服务器和客户端 176 6.4.2 服务器端的设定 176 6.4.3 客户端的操作 177 6.4.4 showmount命令 177 6.5 自定义网络服务 177 6.5.1 xinetd/inetd 178 6.5.2 xinetd服务配置 178 6.5.3 自定义网络服务 179 6.6 小结 180 第7章 TCP网络编程基础 181 7.1 套接字编程基础知识 181 7.1.1 套接字地址结构 181 7.1.2 用户层和内核层交互过程 183 7.2 TCP网络编程流程 184 7.2.1 TCP网络编程架构 184 7.2.2 创建网络插口函数socket() 186 7.2.3 绑定一个地址端口对bind() 189 7.2.4 监听本地端口listen 192 7.2.5 接受一个网络请求accept() 194 7.2.6 连接目标网络服务器connect() 199 7.2.7 写入数据函数write() 200 7.2.8 读取数据函数read() 201 7.2.9 关闭套接字函数close() 201 7.3 服务器/客户端的简单例子 202 7.3.1 例子功能描述 202 7.3.2 服务器网络程序 203 7.3.3 服务器读取和显示字符串 205 7.3.4 客户端的网络程序 205 7.3.5 客户端读取和显示字符串 206 7.3.6 编译运行程序 206 7.4 截取信号的例子 207 7.4.1 信号处理 207 7.4.2 信号SIGPIPE 208 7.4.3 信号SIGINT 208 7.5 小结 208 第8章 服务器和客户端信息的获取 210 8.1 字节序 210 8.1.1 大端字节序和小端字节序 210 8.1.2 字节序转换函数 212 8.1.3 一个字节序转换的例子 214 8.2 字符串IP地址和二进制IP地址的转换 217 8.2.1 inet_xxx()函数 217 8.2.2 inet_pton()和inet_ntop()函数 219 8.2.3 使用8.2.1节地址转换函数的例子 220 8.2.4 使用函数inet_pton()和函数inet_ntop()的例子 223 8.3 套接字描述符判定函数issockettype() 223 8.3.1 进行文件描述符判定的函数issockettype() 224 8.3.2 main()函数 224 8.4 IP地址与域名之间的相互转换 225 8.4.1 DNS原理 225 8.4.2 获取主机信息的函数 226 8.4.3 使用主机名获取主机信息的例子 228 8.4.4 函数gethostbyname()不可重入的例子 230 8.5 协议名称处理函数 232 8.5.1 xxxprotoxxx()函数 232 8.5.2 使用协议族函数的例子 233 8.6 小结 236 第9章 数据的IO和复用 237 9.1 IO函数 237 9.1.1 使用recv()函数接收数据 237 9.1.2 使用send()函数发送数据 239 9.1.3 使用readv()函数接收数据 240 9.1.4 使用writev()函数发送数据 240 9.1.5 使用recvmsg()函数接收数据 242 9.1.6 使用sendmsg()函数发送数据 244 9.1.7 IO函数的比较 246 9.2 使用IO函数的例子 246 9.2.1 客户端处理框架的例子 246 9.2.2 服务器端程序框架 248 9.2.3 使用recv()和send()函数 249 9.2.4 使用readv()和write()函数 251 9.2.5 使用recvmsg()和sendmsg()函数 253 9.3 IO模型 256 9.3.1 阻塞IO模型 256 9.3.2 非阻塞IO模型 257 9.3.3 IO复用 257 9.3.4 信号驱动IO模型 258 9.3.5 异步IO模型 258 9.4 select()函数和pselect()函数 259 9.4.1 select()函数 259 9.4.2 pselect()函数 261 9.5 poll()函数和ppoll()函数 262 9.5.1 poll()函数 263 9.5.2 ppoll()函数 264 9.6 非阻塞编程 264 9.6.1 非阻塞方式程序设计介绍 264 9.6.2 非阻塞程序设计的例子 264 9.7 小结 266 第10章 基于UDP协议的接收和发送 267 10.1 UDP编程框架 267 10.1.1 UDP编程框图 267 10.1.2 UDP服务器编程框架 269 10.1.3 UDP客户端编程框架 269 10.2 UDP协议程序设计的常用函数 270 10.2.1 建立套接字socket()和绑定套接字bind() 270 10.2.2 接收数据recvfrom()/recv() 270 10.2.3 发送数据sendto()/send() 275 10.3 UDP接收和发送数据的例子 279 10.3.1 UDP服务器端 279 10.3.2 UDP服务器端数据处理 280 10.3.3 UDP客户端 281 10.3.4 UDP客户端数据处理 281 10.3.5 测试UDP程序 282 10.4 UDP协议程序设计中的几个问题 282 10.4.1 UDP报文丢失数据 282 10.4.2 UDP数据发送中的乱序 284 10.4.3 UDP协议中的connect()函数 287 10.4.4 UDP缺乏流量控制 287 10.4.5 UDP协议中的外出网络接口 289 10.4.6 UDP协议中的数据报文截断 290 10.5 小结 291 第11章 高级套接字 292 11.1 UNIX域函数 292 11.1.1 UNIX域函数的地址结构 292 11.1.2 套接字函数 293 11.1.3 使用UNIX域函数进行套接字编程 293 11.1.4 传递文件描述符 296 11.1.5 socketpair()函数 296 11.1.6 传递文件描述符的例子 297 11.2 广播 302 11.2.1 广播的IP地址 302 11.2.2 广播与单播的比较 303 11.2.3 广播的示例 304 11.3 多播 310 11.3.1 多播的概念 310 11.3.2 广域网的多播 311 11.3.3 多播的编程 311 11.3.4 内核中的多播 313 11.3.5 一个多播例子的服务器端 317 11.3.6 一个多播例子的客户端 318 11.4 数据链路层访问 319 11.4.1 SOCK_PACKET类型 319 11.4.2 设置套接口以捕获链路帧的编程方法 320 11.4.3 从套接口读取链路帧的编程方法 321 11.4.4 定位IP包头的编程方法 322 11.4.5 定位TCP报头的编程方法 323 11.4.6 定位UDP报头的编程方法 325 11.4.7 定位应用层报文数据的编程方法 326 11.4.8 使用SOCK_PACKET编写ARP请求程序的例子 326 11.5 小结 329 第12章 套接字选项 330 12.1 获取和设置套接字选项getsocketopt()/setsocketopt() 330 12.1.1 getsockopt()函数和setsocketopt()函数的介绍 330 12.1.2 套接字选项 331 12.1.3 套接字选项简单示例 332 12.2 SOL_SOCKET协议族选项 336 12.2.1 SO_BROADCAST广播选项 336 12.2.2 SO_DEBUG调试选项 337 12.2.3 SO_DONTROUTE不经过路由选项 337 12.2.4 SO_ERROR错误选项 338 12.2.5 SO_KEEPALIVE保持连接选项 338 12.2.6 SO_LINGER缓冲区处理方式选项 339 12.2.7 SO_OOBINLINE带外数据处理方式选项 342 12.2.8 SO_RCVBUF和SO_SNDBUF缓冲区大小选项 342 12.2.9 SO_RCVLOWAT和SO_SNDLOWAT缓冲区下限选项 343 12.2.10 SO_RCVTIMEO和SO_SNDTIMEO收发超时选项 343 12.2.11 SO_REUSERADDR地址重用选项 344 12.2.12 SO_EXCLUSIVEADDRUSE端口独占选项 344 12.2.13 SO_TYPE套接字类型选项 345 12.2.14 SO_BSDCOMPAT与BSD套接字兼容选项 345 12.2.15 SO_BINDTODEVICE套接字网络接口绑定选项 345 12.2.16 SO_PRIORITY套接字优先级选项 346 12.3 IPPROTO_IP选项 347 12.3.1 IP_HDRINCL选项 347 12.3.2 IP_OPTNIOS选项 347 12.3.3 IP_TOS选项 347 12.3.4 IP_TTL选项 347 12.4 IPPROTO_TCP选项 348 12.4.1 TCP_KEEPALIVE选项 348 12.4.2 TCP_MAXRT选项 348 12.4.3 TCP_MAXSEG选项 349 12.4.4 TCP_NODELAY和TCP_CORK选项 349 12.5 使用套接字选项 351 12.5.1 设置和获取缓冲区大小 351 12.5.2 获取套接字类型的例子 355 12.5.3 使用套接字选项的综合例子 356 12.6 ioctl()函数 361 12.6.1 ioctl()函数的命令选项 361 12.6.2 ioctl()函数的IO请求 363 12.6.3 ioctl()函数的文件请求 365 12.6.4 ioctl()函数的网络接口请求 365 12.6.5 使用ioctl()函数对ARP高速缓存操作 372 12.6.6 使用ioctl()函数发送路由表请求 374 12.7 fcntl()函数 374 12.7.1 fcntl()函数的选项 375 12.7.2 使用fcntl()函数修改套接字非阻塞属性 375 12.7.3 使用fcntl()函数设置信号属主 376 12.8 小结 376 第13章 原始套接字 377 13.1 概述 377 13.2 原始套接字的创建 379 13.2.1 SOCK_RAW选项 379 13.2.2 IP_HDRINCL套接字选项 379 13.2.3 不需要bind()函数 380 13.3 原始套接字发送报文 380 13.4 原始套接字接收报文 380 13.5 原始套接字报文处理时的结构 381 13.5.1 IP头部的结构 381 13.5.2 ICMP头部结构 382 13.5.3 UDP头部结构 384 13.5.4 TCP头部结构 386 13.6 ping的例子 387 13.6.1 协议格式 388 13.6.2 校验和函数 389 13.6.3 设置ICMP发送报文的头部 390 13.6.4 剥离ICMP接受报文的头部 391 13.6.5 计算时间差 392 13.6.6 发送报文 393 13.6.7 接收报文 394 13.6.8 主函数过程 395 13.6.9 主函数main() 397 13.6.10 编译测试 400 13.7 洪水攻击 400 13.8 ICMP洪水攻击 401 13.8.1 ICMP洪水攻击的原理 401 13.8.2 ICMP洪水攻击的例子 401 13.9 UDP洪水攻击 405 13.10 SYN洪水攻击 409 13.10.1 SYN洪水攻击的原理 409 13.10.2 SYN洪水攻击的例子 409 13.11 小结 413 第14章 服务器模型选择 414 14.1 循环服务器 414 14.1.1 UDP循环服务器 414 14.1.2 TCP循环服务器 417 14.2 简单并发服务器 420 14.2.1 并发服务器的模型 420 14.2.2 UDP并发服务器 420 14.2.3 TCP并发服务器 423 14.3 TCP的高级并发服务器模型 426 14.3.1 单客户端单进程,统一accept() 426 14.3.2 单客户端单线程,统一accept() 429 14.3.3 单客户端单线程,各线程独自accept(),使用互斥锁 431 14.4 IO复用循环服务器 435 14.4.1 IO复用循环服务器模型介绍 435 14.4.2 IO复用循环服务器模型的例子 436 14.5 小结 440 第15章 IPv6简介 441 15.1 IPv4的缺陷 441 15.2 IPv6的特点 442 15.3 IPv6的地址 443 15.3.1 IPv6的单播地址 443 15.3.2 可聚集全球单播地址 443 15.3.3 本地使用单播地址 444 15.3.4 兼容性地址 445 15.3.5 IPv6多播地址 446 15.3.6 IPv6任播地址 446 15.3.7 主机的多个IPv6地址 447 15.4 IPv6的头部 447 15.4.1 IPv6头部格式 447 15.4.2 与IPv4头部的对比 448 15.4.3 IPv6的TCP头部 449 15.4.4 IPv6的UDP头部 449 15.4.5 IPv6的ICMP头部 449 15.5 IPv6运行环境 451 15.5.1 加载IPv6模块 451 15.5.2 查看是否支持IPv6 452 15.6 IPv6的结构定义 453 15.6.1 IPv6的地址族和协议族 453 15.6.2 套接字地址结构 453 15.6.3 地址兼容考虑 455 15.6.4 IPv6通用地址 455 15.7 IPv6的套接字函数 456 15.7.1 socket()函数 456 15.7.2 没有发生改变的函数 456 15.7.3 发生改变的函数 457 15.8 IPv6的套接字选项 457 15.8.1 IPv6的套接字选项 457 15.8.2 单播跳限IPV6_UNICAST_HOPS 459 15.8.3 发送和接收多播包 459 15.8.4 IPv6中获得时间戳的ioctl命令 460 15.9 IPv6的库函数 460 15.9.1 地址转换函数的差异 460 15.9.2 域名解析函数的差异 461 15.9.3 测试宏 463 15.10 IPv6的编程的一个简单例子 463 15.10.1 服务器程序 464 15.10.2 客户端程序 465 15.10.3 编译调试 467 15.11 小结 467 第3篇 Linux内核网络编程 第16章 Linux内核中网络部分结构以及分布 470 16.1 概述 470 16.1.1 代码目录分布 470 16.1.2 内核中网络部分流程简介 472 16.1.3 系统提供修改网络流程点 474 16.1.4 sk_buff结构 475 16.1.5 网络协议数据结构inet_protosw 478 16.2 软中断CPU报文队列及其处理 479 16.2.1 Linux内核网络协议层的层间传递手段——软中断 479 16.2.2 网络收发处理软中断的实现机制 481 16.3 socket数据如何在内核中接收和发送 482 16.3.1 socket()的初始化 482 16.3.2 接收网络数据recv() 482 16.3.3 发送网络数据send() 483 16.4 小结 484 第17章 netfilter框架内报文处理 485 17.1 netfilter 485 17.1.1 netfilter简介 485 17.1.2 netfilter框架 486 17.1.3 netfilter检查时的表格 487 17.1.4 netfilter的规则 487 17.2 iptables和netfilter 488 17.2.1 iptables简介 488 17.2.2 iptables的表和链 488 17.2.3 使用iptables设置过滤规则 489 17.3 内核模块编程 492 17.3.1 内核“Hello,World!”程序 492 17.3.2 内核模块的基本架构 494 17.3.3 内核模块加载和卸载过程 496 17.3.4 内核模块初始化和清理函数 497 17.3.5 内核模块初始化和清理过程的容错处理 497 17.3.6 内核模块编译所需的Makefile 498 17.4 5个钩子点 499 17.4.1 netfilter的5个钩子点 499 17.4.2 NF_HOOK宏 500 17.4.3 钩子的处理规则 501 17.5 注册/注销钩子 502 17.5.1 结构nf_hook_ops 502 17.5.2 注册钩子 503 17.5.3 注销钩子 504 17.5.4 注册注销函数 504 17.6 钩子的简单处理例子 505 17.6.1 功能描述 505 17.6.2 需求分析 506 17.6.3 ping回显屏蔽实现 506 17.6.4 禁止向目的IP地址发送数据的实现 506 17.6.5 端口关闭实现 506 17.6.6 动态配置实现 508 17.6.7 可加载内核实现代码 509 17.6.8 应用层测试代码实现 516 17.6.9 编译运行 516 17.7 一点多个钩子的优先级 517 17.8 校验和问题 518 17.9 小结 518 第4篇 综 合 案 例 第18章 一个简单Web服务器的例子SHTTPD 522 18.1 SHTTPD的需求分析 522 18.1.1 SHTTPD启动参数可动态配置的需求 523 18.1.2 SHTTPD的多客户端支持的需求 524 18.1.3 SHTTPD支持方法的需求 525 18.1.4 SHTTPD支持的HTTP协议版本的需求 526 18.1.5 SHTTPD支持头部的需求 527 18.1.6 SHTTPD定位URI的需求 527 18.1.7 SHTTPD支持CGI的需求 528 18.1.8 SHTTPD错误代码的需求 529 18.2 SHTTPD的模块分析和设计 530 18.2.1 SHTTPD的主函数 530 18.2.2 SHTTPD命令行解析的分析设计 531 18.2.3 SHTTPD配置文件解析的分析设计 532 18.2.4 SHTTPD的多客户端支持的分析设计 534 18.2.5 SHTTPD头部解析的分析设计 536 18.2.6 SHTTPD对URI的分析设计 537 18.2.7 SHTTPD支持方法的分析设计 537 18.2.8 SHTTPD支持CGI的分析设计 538 18.2.9 SHTTPD错误处理的分析设计 540 18.3 SHTTPD各模块的实现 542 18.3.1 SHTTPD命令行解析的实现 543 18.3.2 SHTTPD文件配置解析的实现 545 18.3.3 SHTTPD的多客户端支持的实现 547 18.3.4 SHTTPD所请求URI解析的实现 551 18.3.5 SHTTPD方法解析的实现 552 18.3.6 SHTTPD响应方法的实现 552 18.3.7 SHTTPD支持CGI的实现 556 18.3.8 SHTTPD支持HTTP协议版本的实现 559 18.3.9 SHTTPD内容类型的实现 559 18.3.10 SHTTPD错误处理的实现 561 18.3.11 SHTTPD生成目录下文件列表文件的实现 563 18.3.12 SHTTPD主函数的实现 565 18.4 SHTTPD的编译、调试和测试 566 18.4.1 建立源文件 566 18.4.2 制作Makefile 566 18.4.3 制作执行文件 567 18.4.4 使用不同的浏览器测试服务器程序 567 18.5 小结 568 第19章 一个简单网络协议栈的例子SIP 569 19.1 SIP网络协议栈的功能描述 569 19.1.1 SIP网络协议栈的基本功能描述 570 19.1.2 SIP网络协议栈的分层功能描述 570 19.1.3 SIP网络协议栈的用户接口功能描述 571 19.2 SIP网络协议栈的架构 571 19.3 SIP网络协议栈的存储区缓存 572 19.3.1 SIP存储缓冲的结构定义 573 19.3.2 SIP存储缓冲的处理函数 577 19.4 SIP网络协议栈的网络接口层 579 19.4.1 SIP网络接口层的架构 579 19.4.2 SIP网络接口层的数据结构 580 19.4.3 SIP网络接口层的初始化函数 581 19.4.4 SIP网络接口层的输入函数 583 19.4.5 SIP网络接口层的输出函数 586 19.5 SIP网络协议栈的ARP层 588 19.5.1 SIP地址解析层的架构 588 19.5.2 SIP地址解析层的数据结构 588 19.5.3 SIP地址解析层的映射表 590 19.5.4 SIP地址解析层的ARP映射表维护函数 591 19.5.5 SIP地址解析层的ARP网络报文构建函数 593 19.5.6 SIP地址解析层的ARP网络报文收发处理函数 595 19.6 SIP网络协议栈的IP层 598 19.6.1 SIP网际协议层的架构 598 19.6.2 SIP网际协议层的数据结构 599 19.6.3 SIP网际协议层的输入函数 601 19.6.4 SIP网际协议层的输出函数 605 19.6.5 SIP网际协议层的分片函数 606 19.6.6 SIP网际协议层的分片组装函数 607 19.7 SIP网络协议栈的ICMP层 611 19.7.1 SIP控制报文协议的数据结构 611 19.7.2 SIP控制报文协议的协议支持 612 19.7.3 SIP控制报文协议的输入函数 613 19.7.4 SIP控制报文协议的回显应答函数 614 19.8 SIP网络协议栈的UDP层 615 19.8.1 SIP数据报文层的数据结构 615 19.8.2 SIP数据报文层的控制单元 615 19.8.3 SIP数据报文层的输入函数 617 19.8.4 SIP数据报文层的输出函数 618 19.8.5 SIP数据报文层的建立函数 618 19.8.6 SIP数据报文层的释放函数 619 19.8.7 SIP数据报文层的绑定函数 620 19.8.8 SIP数据报文层的发送数据函数 621 19.8.9 SIP数据报文层的校验和计算 622 19.9 SIP网络协议栈的协议无关层 623 19.9.1 SIP协议无关层的系统架构 623 19.9.2 SIP协议无关层的函数形式 624 19.9.3 SIP协议无关层的接收数据函数 624 19.10 SIP网络协议栈的BSD接口层 625 19.10.1 SIP用户接口层的架构 625 19.10.2 SIP用户接口层的套接字建立函数 626 19.10.3 SIP用户接口层的套接字关闭函数 627 19.10.4 SIP用户接口层的套接字绑定函数 627 19.10.5 SIP用户接口层的套接字连接函数 628 19.10.6 SIP用户接口层的套接字接收数据函数 628 19.10.7 SIP用户接口层的发送数据函数 629 19.11 SIP网络协议栈的编译 630 19.11.1 SIP的文件结构 630 19.11.2 SIP的Makefile 631 19.11.3 SIP的编译运行 631 19.12 小结 631 第20章 一个简单防火墙的例子SIPFW 633 20.1 SIPFW防火墙的功能描述 633 20.1.1 SIPFW防火墙对主机进行网络数据过滤的功能描述 633 20.1.2 SIPFW防火墙用户设置防火墙规则的功能描述 634 20.1.3 SIPFW防火墙配置文件等附加功能的功能描述 634 20.2 SIPFW需求分析 634 20.2.1 SIPFW防火墙条件和动作 635 20.2.2 SIPFW防火墙支持过滤的类型和内容 635 20.2.3 SIPFW防火墙过滤的方式和动作 638 20.2.4 SIPFW防火墙的配置文件 640 20.2.5 SIPFW防火墙命令行配置格式 640 20.2.6 SIPFW防火墙的规则文件格式 642 20.2.7 SIPFW防火墙的日志文件数据格式 643 20.2.8 SIPFW防火墙构建所采用的技术方案 644 20.3 使用netlink进行用户空间和内核空间数据交互 645 20.3.1 netlink的用户空间程序设计 645 20.3.2 netlink的内核空间API 648 20.4 使用proc进行内存数据用户空间映射 650 20.4.1 proc虚拟文件系统的结构 650 20.4.2 创建proc虚拟文件 651 20.4.3 删除proc虚拟文件 652 20.4.4 proc文件的写函数 652 20.4.5 proc文件的读函数 653 20.5 内核空间的文件操作函数 654 20.5.1 内核空间的文件结构 654 20.5.2 内核空间的文件建立操作 655 20.5.3 内核空间的文件读写操作 656 20.5.4 内核空间的文件关闭操作 657 20.6 SIPFW防火墙的模块分析和设计 657 20.6.1 SIPFW防火墙的总体架构 657 20.6.2 SIPFW防火墙的用户命令解析 660 20.6.3 SIPFW用户空间与内核空间的交互 663 20.6.4 SIPFW防火墙内核链上的规则处理 666 20.6.5 SIPFW防火墙的PROC虚拟文件系统 668 20.6.6 SIPFW防火墙的配置文件和日志文件处理 669 20.6.7 SIPFW防火墙的过滤模块设计 671 20.7 SIPFW防火墙各功能模块的实现 673 20.7.1 SIPFW防火墙的命令解析代码 674 20.7.2 SIPFW防火墙的过滤规则解析模块代码 678 20.7.3 SIPFW防火墙的网络数据拦截模块代码 680 20.7.4 SIPFW防火墙的PROC虚拟文件系统 681 20.7.5 SIPFW防火墙对配置文件的解析 683 20.7.6 SIPFW防火墙内核模块初始化和退出 684 20.7.7 用户空间处理主函数 685 20.8 编译、调试和测试 686 20.8.1 用户程序和内核程序的Makefile 686 20.8.2 编译及运行 687 20.8.3 下发过滤规则,测试过滤结果 688 20.9 小结 690 绝对是你要找的书的源代码

2011-02-21

cygwin setup 离线 1.7.5

我在学习Hadoop是收集的应该是你要找的那个,可以离线安装。希望对你有帮助。 cygwin setup 离线安装 1.7 要先到 http://www.cygwin.com/setup.exe 先把setup.exe下载下来。点击。选择local 模式就可以了。

2010-04-15

数据结构教程(第3版) 李春葆等 课后源代码、ppt和上机指导源程序 清华出版社

数据结构教程(第3版) 李春葆等 课后源代码、ppt和上机指导源程序 清华出版社; 数据结构教程(第3版) 李春葆等 课后源代码、ppt和上机指导源程序 清华出版社; 绝对是你要找的。。

2009-12-29

Microsoft Virtual PC 2007 简体中文

Microsoft Virtual PC 2007 简体中文 非常好用。希望对你又帮助。。。

2009-12-14

公司系统 整个网站 源代码

公司系统 整个网站 源代码 公司系统 整个网站 源代码 公司系统 整个网站 源代码 风格可以改的.

2009-11-27

Java 连连看 算法 源代码

Java 连连看 nicholas 源代码 达达 可以直接运行。。 下载后评论+评分可以获1分。 希望对研究连连看算法的朋友们有帮助哈。。。

2009-11-21

仿qq中国象棋(web版)

这是完全可以在线玩的webgame。 用到的技术:jsp + dwr(comet) + spring + jquery 只实现了百分之六七十的功能。 主要有注册,登陆,进入房间,对话(与房间里所有人/与对手),入坐,快速加入游戏,回到房间/大厅,下棋,记时固定20分钟(20分钟一到就判负),提和,认输等。 webgame.war为war包,db.sql为建表脚本,数据库用的mysql,打包时已经把驱动打进去了。 由于技术原因,登陆后不允许刷新,一刷新就会回到首页,数据库连接字符串在spring-config.xml里配置。 源码没怎么改,写得很乱,将就看吧:webgame_sourcecode.rar

2009-11-15

【经典】软考专题考纲 全面+部分例题

【经典】软考专题考纲 全面+部分例题 ,希望对大家有帮助。。

2009-11-15

PowerDesigner教程.chm

PowerDesigner教程.chmPowerDesigner教程.chmPowerDesigner教程.chmPowerDesigner教程.chmPowerDesigner教程.chmPowerDesigner教程.chm

2009-11-08

JavaScript最短路算法

效果可以看一下:http://blog.csdn.net/caizhongda/archive/2009/10/28/4739572.aspx 就知道了 经典啊 评论+评分后即可返回1分。。O(∩_∩)O 。。谢谢支持。。

2009-10-28

51地图Api 加 例子 可以看源代码

mapsapi.zip 51地图Api 加 例子 可以看源代码 51地图Api 加 例子 可以看源代码 评论+评分后即可返回1分。。O(∩_∩)O 。。谢谢支持。。

2009-10-26

UML基础及Visio建模+ pdg 阅读器

UML Visio 建模 教程 pdg 阅读器 这个是我下的一个比较好的visio教程,格式是pdg的我自己加上了绿色阅读器,方便使用。希望对大家有帮助

2009-10-24

华为面试题集总 -总共163页 - 集合了软件,硬件,网络等.doc

华为面试题集总 -总共163页 - 集合了软件,硬件,网络等.doc

2009-10-21

【完整光盘24.5M】开发自己的搜索引擎-Lucene 2.0+Heritrix.zip

【完整光盘24.5M】开发自己的搜索引擎-Lucene 2.0+Heritrix.zip 评论+评分后即可返回1分。。O(∩_∩)O 。。谢谢支持。。

2009-10-20

eclipse Tomcat插件

eclipse Tomcat插件 下载后解压直接放到Eclipse的安装目录下的plugins文件夹里,重新启动Eclipse,即可

2009-10-19

【绝对经典】MapXtremeJava47 中文教程

绝对经典 【绝对经典】MapXtremeJava47 中文教程 【绝对经典】MapXtremeJava47 中文教程

2009-10-17

MapXtreme for java 源码 案例

MapXtreme for java源码 MapXtreme for java源码

2009-10-17

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

TA关注的人

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