自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行者无疆

雄关漫道真如铁 而今迈步从头越

  • 博客(97)
  • 收藏
  • 关注

原创 博客已搬家

个人觉得博客园使用起来顺手多了,故搬家,新地址:http://www.cnblogs.com/scut-fm/

2013-08-05 09:45:10 455

原创 第六章 IO复用:select和poll函数

本章大意讲解了IO复用的相关知识。所谓IO复用,是指内核一旦发现某个或多个IO条件就绪,就通知相应进程,以便作出及时处理。细节摘录1. 五种IO模型:阻塞式IO,非阻塞式IO,IO复用,信号驱动IO,异步IO。2. select的优势其实在于我们可以等待多个描述符的就绪。3. 异步IO模型没有阻塞,其他类型或多或少都有阻塞阶段。4. 描述符集的初始化很重要,别漏。5

2013-07-07 19:35:19 511

原创 第五章 TCP回射客户程序

本章大意讲解了一个回射C/S程序,并分析各种情况下执行的情况。细节摘录1. 服务器程序代码初步分析:#include "unp.h"intmain(int argc, char **argv){ int listenfd, connfd; pid_t childpid; socklen_t clilen; struct sockaddr_in

2013-07-03 11:16:56 540

原创 第四章 基本TCP套接字编程

本章大意介绍了最基本的C/S通信模式以及其中用到的基本函数。细节摘录1. 首先调用的是socket函数,指明通信所用的协议类型(指明协议族,套接字类型)。注意如果要使用前两个参数的默认组合,第三个参数设置为0即可。2. 若1中函数执行成功,返回一个非负的套接字描述符。3. 对于1中函数,第一个参数使用AF_XX而不是PF_XX。(具体原因见P79)4. 客户进程调用co

2013-07-03 10:52:00 490

原创 第三章 套接字编程简介

本章大意本章开始讲解套接字API细节摘录1. 每个协议族都定义了它自己的套接字地址结构。2. 1中的地址结构以sockaddr_开头,以对应每个协议族的唯一后缀结尾。3. 下图为网际套接字地址结构struct in_addr { in_addr_t s_addr;};struct sockaddr_in { /* * 类型为无符号八位整数,表示套接字地址结

2013-07-01 10:25:55 434

原创 第二章 传输层协议TCP UDP SCTP

本章大意从网络编程的角度理解如何使用这些协议,以及协议的具体设计,历史背景。这对往后的学习有很大帮助。细节摘录1. 有的技术可以“跨层次”,但使用得比较少。2. 双栈主机表示同时支持Ipv4和Ipv6的主机。3. UDP是不可靠的,非面向链接的协议。如果要实现安全,必须在应用层添加相应代码。4. TCP是可靠的,面向连接的服务。5. 了解TCP三次握手协议以及协议中

2013-07-01 09:44:28 478

原创 第一章 简介

本章大意:大致介绍了网络编程的一个整体框架,还有一些相关的信息。细节摘录:1. C/S架构的大体模式2. 不同层次协议组的工作路线 - > 发送端向下接收端向上3. IPv4是IP协议的一个具体的版本4. 下面是一个简单的客户程序,已加上注释:/* * 该头文件包含了网络编程需要用的各类头文件,以及需要用到的一些常量如MAXLINE。*/#include "u

2013-06-28 11:20:37 332

原创 准备工作:编程环境的搭建

说明:学习网路编程最好的方法就是不断的查看和修改代码。而书中代码的编译执行需要一些作者自定义库的支持,因此在学习开始前需要构建一个合适的编译环境。第一步:获取代码包并解压(下载地址见书中前言部分)第二步:进入代码包目录后执行以下命令检查配置信息并生成makefile文件sh ./configure第三步:分别进入代码包目录的lib, libfree,

2013-06-26 10:30:30 554

原创 第十四章 tcp/ip工具

本章大意本章介绍了ping arp route traceroute netstat以及wireshark等工具的使用。细节摘录都只是粗略介绍,具体使用还得看实际项目。问答题1. ping2. arp -v3. netstat -p TCP4. netstat -a5. 协议分析器实践题均已完成实践

2013-06-17 15:47:46 418

原创 第十三章 IPV6 下一代协议

本章大意介绍了下一代的网络技术 - IPV6细节摘录1. 产生原因是IPV4用完了2. 现在很难找到纯天然IPV6,一般都是用代理的。3. IPV6的报头地址很科学,不放进一些没用的信息。4. IPV6的地址格式是由八个四位十六进制数组成。5. 隧道技术机制:保留六代地址空间的一部分,使用中继服务器将六代数据包换成四代数据包。课后习题1. 处理对象更单一

2013-06-17 10:23:33 453

原创 第十二章 配置

本章大意介绍了网络中的一项很重要的技术 - DHCP(动态IP技术)细节摘录1. 静态IP地址缺点:a 麻烦,要手动配置 b 浪费IP地址 c 减少了灵活性2. 使用这种技术,网络的管理将会更加的集中于DHCP服务器(网管负责)。3. DHCP工作四步曲。4. 如果同一个网段中没有DHCP服务器,则应该使用一个具有固定IP的中介器。5. 中介器和客户端可以使用广播来

2013-06-14 10:30:19 368

原创 第十一章 TCP/IP安全

本章大意介绍了网络中安全的相关概念。细节摘录1. 相比与传统路由器,防火墙只转发自己认可的数据包。2. 有个人防火墙,SOHO防火墙,还有功能复杂的商业防火墙。3. DMZ技术使防火墙的时候更加灵活有效4. 理解代理服务器的功能5. 网络攻击一般分为证书攻击,网络层攻击,应用层攻击。6. 一般来讲,黑客获得管理员权限,然后打开一个后门。7. 对称加密和非对称

2013-06-07 16:25:36 440

原创 第十章 名称解析

本章大意介绍了一种重要的技术 - 名称解析技术细节摘录1. 大型网络都是通过DNS来实现名称解析2. DNS服务器能够组成一个大集群,其分层于名称结构相关。3. DNS服务器分为首选服务器 备选服务器 还有只缓存服务器4. DNSSEC能够保障DNS服务流程的安全性5. 一些工具可以查看到相应的信息如ping dig问答题1. IP地址2. 安全性

2013-06-05 20:09:27 372

原创 15.6

本节大意介绍了继承关系类对象存放于容器中的一些问题细节摘录1. 对象并不具有多态性(其引用或者指针才有)2. 派生类对象塞进容器后只有基类那部分存在,其他被切掉。3. 唯一可行的方法是放指针,但是就会带来一系列的指针管理问题。课后习题1. 2. 略3. 没有差异。

2013-06-05 16:01:52 358

原创 15.5

本节大意分析了派生类中的一些名字冲突问题细节摘录1. 名字如果相同 派生类会屏蔽掉基类。如果要用基类版的必须显示调用。2. 派生类函数如果要重载基类中的函数,则所有的基类函数都要被重载一边(可以用using关键字提高效率)。课后习题1. 一个是动态绑定指针 一个是复制函数的作用2. a错 只有返回值可以为派生类引用 b对 cd都是错的,覆盖了基类的虚函数。

2013-06-05 15:25:05 381

原创 第九章 连网

本章大意讲解具体设备连接到网络的具体办法细节摘录1. 电话线协议连接的方法很简单。但是效率比较低而且需要适应通信设备广泛的差异性。2. 对于无线网络来说,挑战在于网络必须适应设备位置的改变。3. 漫游设备不可以随便申请一个IP地址拿来就用4. 蓝牙和802.11具有互补作用5. 网桥具有地址过滤和转发数据包的功能6. hub集线器会向全部链接设备发送信息7.

2013-06-05 10:21:21 516

原创 (第七章略)第八章 路由选择

本章大意介绍了路由器的工作流程细节摘录1. IP地址是属于适配器的2. 静态路由的局限性很大,需要管理员手动配置路由表,一般用于小型静态固定的网络。3. RIP矢量路由协议,链路状态路由用于路由表的建立。4. 大多数路由器只需要与相邻的路由器交换数据即可。5. 自制系统所有者管理每台路由的细节。6. CIDR能提供更有效的路由.7. 现代许多复杂的现代路由器

2013-06-04 21:16:55 431

原创 15.4

本节大意面向对象编程中的构造函数和复制控制细节摘录1. 如果某些类只希望派生类使用某个构造函数,可将其声明为protected。2. 一个类的构造函数中只能初始化它的直接基类。3. 当类发生重构,所有使用这些类的代码都要重新编译。4. 请尊重基类接口,用基类的构造函数初始化基类。5. 有指针成员的类要添加复制控制机制(3 rule)6. 正如我们在派生类中调用基

2013-06-03 16:28:27 396

原创 第六章 传输层

本章大意介绍了传输层以及其包含的TCP,UDP协议。细节摘录1. 本层需要提供的功能:a. 为应用程序提供接口 b. 流量控制2. TCP安全可靠 UDP不可靠但速度好3. 面向链接的意思是每个数据包都会有一个确认,4. TCP UDP数据实际上是发送到一个套节字上5. 窗口控制流量的原理在于保证已经收到确认的序号与正在发送的序号存在有限距离6. UDP报头最小

2013-06-03 09:58:29 389

原创 第五章 子网划分和CIDR

本章大意介绍了子网划分以及CIDR技术细节摘录1. 子网划分是网络ID下提供的第二层逻辑组织2. 地址类别也会决定子网ID占多少位置3. 分配地址给主机时,网络号,主机号都要避免全0或者全1.4. 2011年IPV4地址已经用完了5. CIDR提供了更灵活的划分网络的方式问答题1. 来自主机位2. 因为CIDR技术3. 网络地址不进行分类4.

2013-05-31 17:28:28 581

原创 第四章 网际层

本章大意介绍了TCPIP中的网际层细节摘录1. 不直接用物理地址的原因是物理地址不能在地址空间上引入逻辑结构2. IPV6最终还是会取代IPV4,时间问题。3. 路由器有多个网卡。这个很容易想象得到 - 路由器往往同时存在于几个网络中。4. CIDR技术让地址分类系统变得毫无意义。5. 0开头为A类地址 10为B类地址 110为C类地址 1110为D类地址 1111

2013-05-31 15:48:02 380

原创 第三章 网络访问层

本章大意介绍网络访问层细节摘录1. 网络访问层的实现细节不同厂商各有打算导致实现基本不同,故这样一层被誉为最神秘最不统一。2. 因为1的原因,该层的软件必须伴随于一定的硬件。3. 该层具体的运作参考P28页上4. 网络访问层用的不是IP地址,是物理地址。当然IP地址和物理地址之间有联系,后面会介绍。问答题1. CRC是数据校验码,用来检验网络访问层数据传递是

2013-05-30 15:33:39 461

原创 第二章 TCP/IP的工作方式

本章大意进一步分析了网络的分层架构以及执行流程细节摘录1. 分层的好处就在于它可以让厂商开发自己的产品。2. 发送数据时每层都会绑定一些数据到消息上,而接受时相反。这些数据是用来实现每层功能用的。3. 应用层数据叫消息,传输层如果用TCP协议就叫分段UDP叫数据报,网际层叫数据报,网络访问层叫帧,最后的最低子层是比特流。4. 常见的具体执行过程:见书图2.4问答

2013-05-30 15:32:57 424

原创 15.2

本节大意介绍了一些基类,派生类之间的关系机制。细节摘录1. 除了构造函数,所有函数都可以声明为虚。2. virtual关键字只能在内部声明中出现。外部定义时就不要出现了。3. protected能让子类访问基类,反过来不成立。4 派生类的虚函数声明必须和基类一致。只有一种情况例外,见P477.5. 一旦函数被声明为虚函数,它就永远都是。6. 用作基类的类必须是已

2013-05-30 10:55:05 385

原创 15,1

本节大意介绍了面向对象编程基本思想细节摘录1. 面向对象的两个灵魂概念继承,动态绑定。2. 通过继承而相关联的类型为多态类型,许多情况下可以交换的使用派生类或基类的多种形态。3. 我们能够编写程序(函数)使用继承层次中任意类型的对象,无需关心对象的具体类型。4. 动态绑定两点要求1 用引用或者指针做参数 2. 被调用的函数是虚函数课后习题无

2013-05-30 10:08:25 375

原创 容器适配器的定义及使用

前言容器是什么想必大家和我一样都清楚了,无非就是封装好的类模板。在类的基础之上,又大大扩充了C++的性能。那么适配器是什么,在C++体系中又扮演一个什么样的角色呢?今晚揭晓这个问题。“适配器”是个啥适配器的本质是使一种事物的行为类似于另一种事物的行为的一种机制。我目前的理解就是一种“再封装”,至于用什么技术实现则看具体什么类型的适配器了。一般来说适配器支持的操作会比较少,不支持迭代

2013-05-29 21:41:14 813

原创 第一章 什么是TCP/IP

本章大意大致介绍了网络以及TCP/IP细节摘录1. TP协议不但定义了网络通信的过程,还定义了数据单元的格式和内容。2. 区分TP标准和TP实现3. 计算机网络中的逻辑(IP)地址包括一个识别网络的值,一个识别子网的值,一个识别具体计算机的值。4. NAT技术很不错,让主机在局域网中拥有自己的私有的IP,而当与英特网通信时,这个地址自动转换成一个正式的IP就绪地址。

2013-05-29 20:21:50 408

原创 开始加大学习强度 开启新的模式

学习规划上午:8:30 - 11:30任务:C++一节,接下来那两本网络。下午:2:30 - 5:00任务:C++一节,接下来那两本网络。晚上:8:00 - 10:30任务:C++实践整理,编程珠饥

2013-05-28 21:55:41 465

原创 14.8

本节大意细致介绍函数调用符的重载,从而引出扩展算法使用的一种方式。细节摘录1. 定义一个函数调用符重载很简单2. 最重要就是理解调用符重载在算法中的陪起使用3. 掌握几种标准库已经定义好了的函数对象 - -包含在头文件functional中4. 使用函数适配器可以让函数对象的使用更加灵活自由

2013-05-28 16:26:19 460

原创 14.7

本节大意细致介绍了前缀后缀的自增自减操作符的重载细节摘录1. 前缀的定义比较简单,经典重载的方法都可以用。2. 后缀要注意两点:a. 形参要多一个int,以形成区别。 b. 函数中要先保存当前对象,处理完后,再返回当初保存的对象。课后习题进度原因,暂留。

2013-05-28 15:36:05 372

原创 14.6

本节大意细致介绍了解引用和箭头操作符的重载细节摘录1. 经典使用范例 - 智能指针2. 这两种重载都必须同时提供const版和非const版3. 箭头操作符重载的运行过程:以p->a()为例子:首先p->a或p->a()看看能否执行成功,然后执行p.operator->(),最后获取前者的a成员。4. 重载箭头操作符必须返回指向类类型的指针,或者定义了自己的箭头操作

2013-05-28 15:14:22 370

原创 最实用的几个压缩,解压,打包命令。

若压缩工具为gzip:压缩命令1:gzip -z 待压缩文件名压缩命令2:gzip -c 待压缩文件名 > 压缩后文件名解压缩命令1:gzip -d 解压后文件名解压缩命令2:gzip -cd 待解压文件名 > 解压后文件名打包命令:tar -zcvf 打包后文件名 待打包文件1 待打包文件2 ...查询命令:tar -ztvf 打包了的文件名解包命令:tar -zxv

2013-05-28 11:24:07 458

原创 14.5

本节大意细致介绍了下标操作符的重载细节摘录1. 一般要定义两个版本,一个const版本一个非const版本。2. const int &这样的返回类型既可以节省开销,又可以避免改动,不错。3. 这个用成员函数来重载,关键字friend就多余,不用的。课后习题1. 略,比较简单。2. 缺点还真不知道,书上也没提及。

2013-05-28 09:46:07 341

原创 14.4

本节大意细致介绍了赋值操作符的重载细节摘录1. 赋值操作符必须定义为成员函数2. 必须返回*this课后习题1. 略2. 根据实际情况自定义即可

2013-05-28 09:34:03 384

原创 14.3

本节大意细致介绍了算数操作符和关系操作符的使用。细节摘录1. 一般来说,加法操作符应当返回一个值,而不是一个引用。这是为了和内置类型统一。2. 有时选择+=而不是+会好点,因为它返回的是一个引用,避免了一些开销。3. 定义了==,请同时定义!=,很有必要而且也容易,直接调用==的来实现即可。4. 有时候不定义课后习题略

2013-05-28 09:31:15 315

原创 14.2

本节大意比较细致的介绍了IO操作符的重载细节摘录1. 重载输出不要有格式化以及换行符2. IO操作符必须是非成员函数重载3. 重载输入操作符时记得内在一致性课后习题1. 2.#include using namespace std;class A {public: A() { m=0; } friend ostream & operato

2013-05-28 09:06:35 350

原创 小结

发现自己真的有些一无是处,很自卑,太多不会了。现在的时间是22:22,真TM有些讽刺。。而且自己心还很散,早上他来了,上午没了;中午她来了,下午又没了。今天可能真的有些偶然吧。明天绝对不能这样了。加油努力,别让自己的学历反而成为一个笑话。恩 就这样。保持进步,一往无前。

2013-05-27 22:17:21 379

原创 14.1

本节大意介绍了重载操作符的一般方法和选取原则。细节摘录1. 重载操作符的本质是具有特殊名字的函数2. 重载操作符必须有一个类或枚举操作类型3. 优先级固定性是不能变的4. 了解哪些适合重载,用哪种机制重载。课后习题1. 操作数规则不同的时候就不同,否则相同。2. 本题改成为我自己的一个类定义重载声明,如下:#include using nam

2013-05-27 22:13:18 418

原创 13.5

本节大意讨论了在类中管理指针成员的三种方法细节摘录1. 智能指针中的计数思想不能采用一个单纯的static变量来实现,是因为某个对象删除指针对象后,仍然有可能造成指针悬空。2. 智能指针法控制时,记得那个重载=一定要先计数+,再计数-。课后习题1. 会造成第一个对象修改了值,第二个对象的值也会被修改。2. 会造成指针悬空3. 使用计数是指统计还有多少个对象和

2013-05-27 17:54:19 349

原创 13.4(暂留,抽象实践课程)

13.4(暂留,抽象实践课程)

2013-05-27 16:28:10 358

空空如也

空空如也

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

TA关注的人

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