摘要:
进程是一个动态的概念,描述程序的一次运行活动。进程存在于系统的内存中,是操作系统可感知,可控制的动态实体,是系统分配各种资源,进行调度的基本单位。那么,从处理机的角度来看,如何描述进程?进程的活动就是通过在cpu上执行一系列程序和对相应数据进行操作来体现的,因此程序和它的操作数据是进程存在的实体,但
阅读全文
posted @ 2018-03-18 20:58
药剂学徒
阅读(385)
推荐(0)
摘要:
进程和程序的区别: j进程是活动的程序,而程序是一个代码的集合。进程是加载到内存中的程序,而程序没有加载到内存中,只是在磁盘上存储着。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3
阅读全文
posted @ 2018-03-18 20:58
药剂学徒
阅读(286)
推荐(0)
摘要:
1、1 什么是TCP tcp是一种面向连接(连接导向)的,可靠的,基于字节流的运输层通信协议。在简化的计算机网络OSI模型中,他完成第四层传输层所指订的的功能。 应用层向tcp层发送用于网络间传送的,用8为字节表示的数据流,然后TCP把数据流分割成设当的长度的报文段。之后TCP把结果包传送给ip层,
阅读全文
posted @ 2018-03-18 20:57
药剂学徒
阅读(706)
推荐(0)
摘要:
一、进程的创建与终止: 1、进程的创建: 在多道程序环境下,只有进程才能在系统中运行因此,为使程序能够运行,必须为他创建进程。导致进程创建的时间有用户登录,作业调度,为用户提供服务等。 一旦系统发现要求创建进程的事件后,便立刻调用创建原语 Create(),通过下述步骤创建一个进程: (1)申请空白
阅读全文
posted @ 2018-03-18 20:57
药剂学徒
阅读(172)
推荐(0)
摘要:
从本章开始我们将深入考察操作系统是如何设计和构造的。操作系统最核心的概念就是进程: 这是对正在运行的程序的一个抽象。操作系统的其他所有内容都是围绕着进程的概念展开的,] 所以,让操作系统的设计者尽在并透彻的理解进程是非常重要的。 进程是操作系统提供的最古老也是最抽象的概念之一。 1、进程:在任何多道
阅读全文
posted @ 2018-03-18 20:56
药剂学徒
阅读(195)
推荐(0)
摘要:
1 z一、概述: 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播实际上是两个极端,要么对一个主机进行通信,要么对整个局域网进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。 IP 多播(也称多址广
阅读全文
posted @ 2018-03-18 20:55
药剂学徒
阅读(221)
推荐(0)
摘要:
一、概述: UDP 是 User Datagram Protocol 的简称, 中文名是用户数据报协议,是一个简单的面向数据报的运输层协议,在网络中用于处理数据包,是一种无连接的协议。UDP 不提供可靠性的传输,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们能到达目的地。由于 U
阅读全文
posted @ 2018-03-18 20:54
药剂学徒
阅读(361)
推荐(0)
摘要:
同一个子网的所有主机网卡都会接受所在网段广播地址的数据包。广播地址应用于局域网内的所有主机。 广播地址是专门用于同时向网络中所有工作站发送的一个地址。 广播地址主要分为两类: (1)受限广播:路由器从来不会转发受限的广播数据包,但同一个子网的所有主机都会接受到受限广播的数据包。 ip地址的网络字段和
阅读全文
posted @ 2018-03-18 20:54
药剂学徒
阅读(306)
推荐(0)
摘要:
一、套接字概述: 套接字是一种通信机制(通信两方的一种约定),凭借这种机制,不同主机之间的进程可以进行通信。我们可以用套接字中的相关函数来完成通信过程。 套接字的特性有三个属性确定:域(domain),类型(type),协议(protocol)。 二、套接字的域 域指定套接字通信中使用的网络介质,
阅读全文
posted @ 2018-03-18 20:53
药剂学徒
阅读(368)
推荐(0)
摘要:
一、概述: 在这个信息急剧膨胀的社会,我们不得不说,人类正在进入一个崭新的时代,那就是信息时代。信息时代等等一个主要特征就是计算机网络的应用。计算机网络哟从最初的集中式计算经过了clent/server阶段(有两层C/S和三层C/S),已发展到目前最流行的browser/server计算模式。其中颇
阅读全文
posted @ 2018-03-18 20:53
药剂学徒
阅读(743)
推荐(0)
摘要:
网络编程中最基本的概念就是面向连接和无连接协议。尽管从本质上来说,两者之间的区别并不难理解,但是对那些刚刚接触网络编程的人来说,却是个比较困难的问题。 如果两台计算机要进行通信,就必须以某种形式连接起来,那么无连接通信又是什么意思? 答案是:面向连接和无连接指的都是协议。也就是说,这些术语指的并不
阅读全文
posted @ 2018-03-18 20:52
药剂学徒
阅读(412)
推荐(0)
摘要:
一、字节序的概念 字节序是指多字节数据的存储顺序,在设计计算机系统的时候,有两种处理内存中数据的方法:大端格式、小端格式。 小端格式(Little-Endian):将低位字节数据存储在低地址。 大端格式(Big-Endian):将高位字节数据存储在低地址。 举个简单的例子,对于整形 0x123456
阅读全文
posted @ 2018-03-18 20:52
药剂学徒
阅读(413)
推荐(0)
摘要:
全世界有那么多的电脑,为什么他们两两之间可以互联? 为了使不同的计算机之间可以互联,ARPANet制定了一套计算机通信协议,即TCP/IP通信协议,他们对电脑如何连接组网作出了详细的规定。理解了这些协议,就理解了网络的原理。 一、概述: 1、模型: 为了减少设计的复杂性,大多数网络采用了分层的方式来
阅读全文
posted @ 2018-03-18 20:51
药剂学徒
阅读(276)
推荐(0)
摘要:
1、进程概论: 进程管理,内存管理,文件管理是操作系统的三大核心功能。什么是进程?进展中的程序。或者说,就是一个程序被加载到内存后就变成1进程。 进程=程序+执行 2、进程模型: 每个进程占用一片内存空间,从这点上来说,进程就是1内存的某片内存空间。由于在任一时刻,cpu只能执行一条指令,因此任意时
阅读全文
posted @ 2018-03-18 20:50
药剂学徒
阅读(117)
推荐(0)
摘要:
1、虫洞:套接字 套接字是1另外一种可以用于进程见通信的机制。套接字首先在BSD操作系统中出现,随后几乎渗透到所有的主流操作系统中。套接字的功能非常强大,可以支持不同层面,不同应用,跨网络的通信。使用套接字需要双方均创建一个套接字,其中乙方作为服务器,另一方作为客户方。服务器方必须创一个服务区套接字
阅读全文
posted @ 2018-03-18 20:50
药剂学徒
阅读(78)
推荐(0)
摘要:
1、进程的分身术:线程 线程是什么?进程是运转的程序。是为了在CPU上实现多道变成而发明的一个概念。但是进程在一个时间只能干一个事情。如果向同时干两件事,我们自然想到创说中的分身术。 进程可以办到,办法就是进程。线程就是我们为了让一个进程同时干多件事情,而发明的分身术。 既然线程就是进程的分身,那么
阅读全文
posted @ 2018-03-18 20:50
药剂学徒
阅读(226)
推荐(0)
摘要:
1、计算机硬件基本知识: 从概念上讲,计算机的结构非常简单:首先布置一跟总线,然后将各种硬件设备挂在总线上。所有的这些设备都有一个控制设备,外部设备都由这些控制器与CPU通信。而所有设备之间的通信均需要通过总线。 为了提高计算机的效率,人们又设计出了流水线结构,即仿照工业流水装配线,将计算机的功能部
阅读全文
posted @ 2018-03-18 20:49
药剂学徒
阅读(261)
推荐(0)
摘要:
1、计算机程序怎么运行的? (1)编程:(计算机程序设计语言作为基础。)(2)编译:(由于计算机并不认识高级语言编写的程序,编写好的程序需要进行编译编程计算机能够识别的机器语言程序,而这个就需要编译器和汇编器的帮助)(3)加载到内存:(机器语言需要加载到内存才能真正的执行,而将进程调度到CPU上运行
阅读全文
posted @ 2018-03-18 20:48
药剂学徒
阅读(132)
推荐(0)
摘要:
操作系统发展的因素推动: (1)硬件成本不断下降 (2)计算机的功能和复杂性不断变化 1、第一阶段:状态机操作系统 2、第二阶段:单一操作员控制端操作系统 3、批处理操作系统 4、多道批处理操作系统 5、分时操作系统、实时操作系统 6、现代操作系统
阅读全文
posted @ 2018-03-18 20:48
药剂学徒
阅读(115)
推荐(0)
摘要:
学习网络编程入手还是比较难的,看到后来发现还是没有想象中的那么难。如果你是新手,开始着手写代码,不写时不行的。看100遍也不如写一遍来的清楚。敲完之后带着问题去看书,这样会更有针对性。提高的速度是飞快的。 写这个博客之前,发现别人写的代码都是吧所有的代码以粘贴,并没有讲解每个函数的功能。我甚至不知道
阅读全文
posted @ 2018-03-18 20:46
药剂学徒
阅读(326)
推荐(0)
摘要:
所谓半双工通信,即通信的双方都可以实现接发数据,但是有一个限制:只能一方发一方收,之后交换收发对象。也就是所谓的阻塞式通信方式。 一、基本框架: 1、首先搞清楚我们进行编程所处的位置: TCP编程,具有可靠的传输的特性,而实现可靠传输的功能并非我们将要做的事,我们要做的就是在内核实现的基础上调用AP
阅读全文
posted @ 2018-03-18 20:46
药剂学徒
阅读(422)
推荐(0)
摘要:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
阅读全文
posted @ 2018-03-18 20:46
药剂学徒
阅读(1104)
推荐(0)
摘要:
这里给出在linux下的简单的socket网络编程实例,使用tcp协议进行通信,服务端进行监听,再收到client的链接之后,发送数据给client;client在接收到数据后打印出来,然后关闭。程序里有具体的说明,当中对具体的结构体和函数的实现能够参照其他资料。 程序说明:这里的server的po
阅读全文
posted @ 2018-03-18 20:45
药剂学徒
阅读(273)
推荐(0)
摘要:
linux下的C socket编程(4) 延长server的生命周期: 在前面的一个个例子中,server在处理完一个链接之后便会立即结束掉自己,然而这种server并不科学,server因该使能够一直接受处理连接的,知道结束命令结束掉server。 实现这种情况的最简单的方法就是将accept()
阅读全文
posted @ 2018-03-18 20:44
药剂学徒
阅读(176)
推荐(0)
摘要:
1、介绍: socket是进程间的方式之一,是进程间的通信。这里说的进程并不一定是在同一台机器上也有可能是通过网络连接的不同机器上。只要他们之间建立了socket连接,那么数据便可以在机器之间进行双向的交流,直到连接断开为止。 2、socket的建立: 在我们接触实际的代码API之前,我们应该对基础
阅读全文
posted @ 2018-03-18 20:44
药剂学徒
阅读(280)
推荐(0)
摘要:
1、创建socket: int socket( int domain , int type, int protocol ); int sockfd = socket(AF_INET,SOCK_STREAM,0); domain:即为协议域(family)。 type:指定socket类型。 常用的s
阅读全文
posted @ 2018-03-18 20:43
药剂学徒
阅读(187)
推荐(0)
摘要:
服务端: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 5
阅读全文
posted @ 2018-03-18 20:43
药剂学徒
阅读(208)
推荐(0)
摘要:
linux下的socket编程(3) server端的简单示例: 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上去。 绑定socket到一个端口上去 bind()函数可以将socket绑定一个端口上,client可以通过这个端口发起请求,
阅读全文
posted @ 2018-03-18 20:42
药剂学徒
阅读(412)
推荐(0)
摘要:
linux下的C socket编程(2) 获取域名对应的ip地址 经过上面的讨论,如果我们要向链接远程的服务器,我们需要知道对方的ip地址,系统函数gethostbyname便能够帮助我们实现这个目的。他能够获取域名对应的ip地址并且返回一个hostent类型的结果。其中包含了ip地址信息,它的头文
阅读全文
posted @ 2018-03-18 20:42
药剂学徒
阅读(1322)
推荐(0)
摘要:
1、pipe函数: pipe函数用来创建一个管道,以实现进程之间通信。 #include<unistd.h> int pipe(int fd[2]); pipe函数的参数是一个包含两个int 类型整数的数组指针。该函数成功时返回0,并将一对打开的文件描述符值填入其参数指向的数组。如果失败,则返回-1
阅读全文
posted @ 2018-03-18 20:41
药剂学徒
阅读(175)
推荐(0)
摘要:
在c语言中,经常要对内存进行操作,里面涉及到很多函数,但是memeset函数的使用有一点需要大家格外注意,这就是我遇到过的一个问题: 函数原型:void * memset(void * s ,int ch ,size_t n); 函数的功能是:将s所指向某一块内存的的前n个字节的内容全部设置为ch指
阅读全文
posted @ 2018-03-18 20:41
药剂学徒
阅读(246)
推荐(0)
摘要:
本章是承前启后的一章,他探讨linux网络编程API与内核中TCP/IP协议族之间的关系,并为后续章节提供编程基础。我们将讨论linux网络API: 1、网络字节序和主机字节序 现代CPU累加器一次都能装载至少4个字节(32位机器),即一个整数。那么这4个字节在内存中的排列顺序将影响他被累加器装载成
阅读全文
posted @ 2018-03-18 20:40
药剂学徒
阅读(368)
推荐(0)
摘要:
1、通用socket地址: socket网络编程接口中表示socket地址的是结构体sockaddr,其定义如下: 1 2 3 4 5 6 #include<bits/socket.h> struct sockaddr { sa_family_t sa_family; char sa_data[14
阅读全文
posted @ 2018-03-18 20:39
药剂学徒
阅读(160)
推荐(0)
摘要:
1、套接字地址结构: ipv4套接字地址结构:struct sockaddr_in ,定义在<netinet/in.h> ipv6套接字地址结构:struct sockaddr_in6,同样定义在<netinet/in.h> 通用套接字地址1结构:struct sockaddr,定义在<sys/so
阅读全文
posted @ 2018-03-18 20:39
药剂学徒
阅读(162)
推荐(0)
摘要:
一、网络基本层次: 1、数据链路层: 实现网卡接口的网络驱动程序,以往处理数据在物理媒介上的传输。数据链路层常用的协议有ARP(地址解析协议)和RARP(逆地址解析协议)。他们实现了ip地址和机器物理地址(mac地址,以太网,令牌环网,802.11无线网络都使用mac地址)之间的相互转换。 网络层使
阅读全文
posted @ 2018-03-18 20:38
药剂学徒
阅读(1340)
推荐(0)
摘要:
面向服务器的应用开发一直是linux软件开发的重点,而linux高性能服务器应用的开发则是重点中的重点,软件开发工程师不仅需要深入钻研很多理论知识,还需要在实际的生产环境中积累经验。因此,不仅这方面的从业人员奇缺,而且这方面的图书资料也极为有限。 本书将分为三个部分:第一部分:对linux服务器编程
阅读全文
posted @ 2018-03-18 20:37
药剂学徒
阅读(159)
推荐(0)
摘要:
1、聚合类:使得用户可以直接访问其成员,并且有特殊的初始化语法形式。满足条件如下:(1)搜游成员都是public的 (2)没有定义任何构造函数 (3)没有类内部初始值 (4)没有基类,也没有virtual函数 1 2 3 4 5 struct data { int ival; sring s; }
阅读全文
posted @ 2018-03-18 20:35
药剂学徒
阅读(223)
推荐(0)
摘要:
类构成了实现C++面向对象设计的的基础。类是C++封装的基本单元,他把数据和函数封装在一起。当类的成员声明为保护时,外部不能访问,声明为公共时,则在任何地方都可以访问。 1、从结构到类。 C的结构可以把相关联的数据元素组成一个单独的统一体。 说明结构对象的方法是:结构名+变量名 在类中说明的,要么是
阅读全文
posted @ 2018-03-18 20:35
药剂学徒
阅读(136)
推荐(0)
摘要:
继承是C++语言的一种重要机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有类中没有的成分来建立新类。理解继承是理解面向对象程序设计的所有方面的关键,所以本章是很重要的。 1、继承的概念: 鸭子是鸟类的派生,鸭子是鸟类的一种,鸭子又拥有自己的特征,就是会嘎嘎
阅读全文
posted @ 2018-03-18 20:34
药剂学徒
阅读(115)
推荐(0)
摘要:
对于任何语言来说,构造函数都是一个非常重要的东西。 1、构造函数初始值列表: 如果没有在构造函数的初始值列表中显示的初始化成员,则该成员在构造函数体之前执行默认初始化。 (1)构造函数的初始值有时必不可少:如定义一个类时,必须要对私有成员变量进行初始化,否则就会报错。 如果成员时const,引用,或
阅读全文
posted @ 2018-03-18 20:34
药剂学徒
阅读(122)
推荐(0)
摘要:
类是类型而不是数据对象,而每个类的对象都是该类数据成员的拷贝。然而,需要让类的所有对象在类的范围内共享某个数据。声明为static的类成员,便能在类范围中共享,称为静态成员。友元函数完全是普通的C++函数,不同的是,它可以访问类的保护或私有成员,方便编程,提高了效率,但却破坏了类的封装。 1、静态成
阅读全文
posted @ 2018-03-18 20:33
药剂学徒
阅读(639)
推荐(1)
摘要:
strcpy和strncpy用法和区别 1. strcpy函数:顾名思义字符串复制函数:原型:extern char *strcpy(char *dest,char *src); 功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间,返回dest(地址中存储的为复制后的
阅读全文
posted @ 2018-03-18 20:33
药剂学徒
阅读(237)
推荐(0)
摘要:
C++的构造函数和析构函数,使类的对象能够轻易的被创建和撤销。构造函数创建类对象,初始化其成员,析构函数撤销类对象。构造函数和析构函数是类的特殊成员函数,他们的设计与应用,直接影响编译程序处理对象的方式。构造函数和析构函数的实现使C++的类机制得以充分显示。所以本章内容是C++的重点之一。 学习了本
阅读全文
posted @ 2018-03-18 20:32
药剂学徒
阅读(123)
推荐(0)
摘要:
在C++中,堆分配的概念得到了扩展,不仅C++的关键字new和delete可以分配和释放堆空间。而且通过new建立的对象要调用构造函数,通过delete删除对象也要调用析构函数。另外,当对象被传递给函数或者对象从函数返回的时候,会发生对象的拷贝。 1、关于堆: c++程序的内存格局通常分为4个区:(
阅读全文
posted @ 2018-03-18 20:32
药剂学徒
阅读(178)
推荐(0)
摘要:
类构成了实现C++面向对象设计的的基础。类是C++封装的基本单元,他把数据和函数封装在一起。当类的成员声明为保护时,外部不能访问,声明为公共时,则在任何地方都可以访问。 1、从结构到类。 C的结构可以把相关联的数据元素组成一个单独的统一体。 说明结构对象的方法是:结构名+变量名 在类中说明的,要么是
阅读全文
posted @ 2018-03-18 20:31
药剂学徒
阅读(171)
推荐(0)
摘要:
我们知道可以使用下标运算符来访问,string对象的字符或者vector对象的元素。还有另外一种机制可以实现同样的目的。这就是迭代器。除了vector之外,标准库还定义了其他几种容器。所有标准库容器都可以使用迭代器,但是其中只有少数几种才同时支持下标运算符,类似指针类型,迭代器也提供了对对象的间接访
阅读全文
posted @ 2018-03-18 20:29
药剂学徒
阅读(223)
推荐(0)
摘要:
目前为止,我们已经为类定义了接口,但并没有任何机制强制用户使用这些接口。我们的类还没有封装,也就是说,用户可以直达sales_data对象的内部并且控制它的具体实现细节。在C++中,我们使用访问说明符加强类的封装性; 定义在public说明符之后的成员在整个程序内可被访问,public成员定义类的接
阅读全文
posted @ 2018-03-18 20:28
药剂学徒
阅读(128)
推荐(0)
摘要:
只有当类没有声明任何构造函数时,编译器才会自动的生成默认构造函数。 在类的外部定义构造函数: 构造函数的名字必须与类名相同,构造函数没有返回类型,sales_data::sales_data的含义是我们定义的sales_data类的成员,他的名字是sales_data.又因为该成员的名字和类名相同,
阅读全文
posted @ 2018-03-18 20:27
药剂学徒
阅读(129)
推荐(0)
摘要:
在C++语言中,我们使用类定义自己的数据类型。通过定义新的类型来反映待解决问题中的各种概念,可以使我们更容易编写,调试,和修改程序。 类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程技术。累得接口包括用户所能执行的操作;类的实现则包括类的数据成员、负责接口实现的函数体以及类所需
阅读全文
posted @ 2018-03-18 20:26
药剂学徒
阅读(1669)
推荐(0)
摘要:
1、函数基础: 一个典型的函数包含:函数名,返回类型,形参列表。 其中,形参以逗号隔开,形参的列表位于一对圆括号内。函数执行的操作在语句块中说明,该语句成为函数体。 我们通过使用运算符来执行函数。调用运算符的形式是一对圆括号,它作用于一个表达式,该表达式是函数或者指向函数的指针,圆括号内部是实参列表
阅读全文
posted @ 2018-03-18 20:25
药剂学徒
阅读(148)
推荐(0)
摘要:
1、参数传递:每次调用函数都会重新创建它的形参,并用传入的实参对形参进行初始化。形参的初始化和变量的初始化是一样的。 形参的类型决定了形参和实参的交互方式。如果形参是引用类型,他将绑定到对应的实参上。 当形参是引用类型时,我们说他对应的实参被引用传递或者函数被传引用调用。和其他引用一样,引用形参也是
阅读全文
posted @ 2018-03-18 20:25
药剂学徒
阅读(268)
推荐(0)
摘要:
1、简单语句: 2、语句作用域; 3、条件语句: if和switch(default) 4、迭代语句: 迭代语句通常被称为循环,它重复执行操作指导满足某个条件才停下来。while和for语句在执行循环体之前检查条件,do while 语句先执行循环体,在检查条件。 while/for/范围for语句
阅读全文
posted @ 2018-03-18 20:24
药剂学徒
阅读(105)
推荐(0)
摘要:
1、定义和初始化内置数组: 数组是一种复合类型。数组的声明形如a【d】,其中a是数组的名字,d是数组的维度。维度说明数组中元素的个数,因此必须大于0。数组的元素个数也属于数组类型的一部分,编译的时候唯独因该是已知的。也就是说,维度必须是一个常量表达式。 默认情况下,数组的元素被默认初始化。 数组的元
阅读全文
posted @ 2018-03-18 20:23
药剂学徒
阅读(159)
推荐(0)
摘要:
C++定义了一元,二元运算符。作用于一个运算对象的运算符是一元运算符,如取地址符(&)和解引用符(*):作用于两个运算对象的运算符是二元运算符,如==(相等运算符)和乘法运算符(×)还有一个作用与三个运算对象的三元运算符。函数调用也是一种特殊的运算符,他对运算对象的数量没有限制。 在C++中一个左值
阅读全文
posted @ 2018-03-18 20:23
药剂学徒
阅读(126)
推荐(0)
摘要:
string的操作: s1+s2 string::size_type: 对于size函数来说,返回一个int或者一个unsigned类型似乎都是合理的。但其实size函数返回的就是一个string::size_type类型的值。 注意:如果一个表达式中已经有了size()函数,就不要在使用int了这
阅读全文
posted @ 2018-03-18 20:22
药剂学徒
阅读(119)
推荐(0)
摘要:
1、vector标准库类型的认识 标准库类型vector表示对象的集合,其中所有的对象类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。因为vector容纳者其他对象所以他也被称作容器。 使用vector之前必须包含适当的头文件。 include<vector> using st
阅读全文
posted @ 2018-03-18 20:22
药剂学徒
阅读(184)
推荐(0)
摘要:
标准库类型string表示可变长的字符序列,使用string类型必须首先包含string头文件。作为标准库中的一部分,string定义在命名空间std中。 C++标准一方面对库的类型所提供的操作做了详细的规定,另一方面也对库的实现者做出一些性能上的需求。因此,标准库类型对于一般应用场合来说有足够的效
阅读全文
posted @ 2018-03-18 20:21
药剂学徒
阅读(257)
推荐(0)
摘要:
一、auto关键字的前世 从C语言开始,auto关键字就被当作是一个变量的存储类型修饰符,表示自动变量(局部变量)。它不能被单独使用,否则编译器会给出警告。 编译运行结果: 二、auto关键字的今生 在C++ 11标准中,添加了新的类型推导特性,考虑到auto关键字很少使用,就给它重新赋予了功能——
阅读全文
posted @ 2018-03-18 20:20
药剂学徒
阅读(354)
推荐(0)
摘要:
变量的定义包括一个基本数据类型和一组声明符。在同一条定义语句中可能定义出不同类型的变量: 很多程序员容易迷惑于基本的数据类型和类型修饰符的关系,其实后者不过是声明符的一部分罢了。 定义多个变量: int *p1,p2;//p1是指向int的指针,p2是int。 int *p1,*p2;//p1,p2
阅读全文
posted @ 2018-03-18 20:19
药剂学徒
阅读(134)
推荐(0)
摘要:
合类型是指基于其他类型定义的类型。C++语言有几种符合类型,引用和指针 1、引用。(左值引用) 引用为对象起了另外一个名字,引用类型另外一种类型。通过声明符写成&d的形式来定义引用类型。其中d是生命的变量名。 int a=1024; int &val=a;//val指向a(是a的另一个名字) int
阅读全文
posted @ 2018-03-18 20:13
药剂学徒
阅读(325)
推荐(0)
摘要:
标识符:C++中的标识符由数字、字母、下划线组成。其中必须以字母或下划线开头。标识符对长度没有限制,但是对大小写字母敏感。 作用域是程序的一部分,在其中名字有其特定的含义。C++语言中大多数作用域都一花括号分隔。同一个名字在不同的作用域可能会指向不同的实体。作用域是程序的一部分,在其中有特定的含义。
阅读全文
posted @ 2018-03-18 20:12
药剂学徒
阅读(190)
推荐(0)
摘要:
C++中定义了一套包括算术类型(arithmetic)和空类型(void)在内的基本数据类型。其中算术类型包了字符,整型数,布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊的场合。 1.1 算术类型:整形+浮点型 布尔类型:是true or false 注意:long long 类型是在C++中
阅读全文
posted @ 2018-03-18 20:11
药剂学徒
阅读(264)
推荐(0)
摘要:
变量提供一个具名的,可供程序操作的存储空间。C++中的每个变量都有其数据类型,数据类型决定着变量所占内存空间的大小和布局方式、该空间能存储的值的范围,以及变量能参与的运算。对C++程序员来说,变量和对象一般可以互换使用。 1.1 变量定义: 类型定义符,随后紧跟着由一个或者多个变量名组成的列表,其中
阅读全文
posted @ 2018-03-18 20:11
药剂学徒
阅读(167)
推荐(0)
摘要:
为了使用类我们需要了解三件事情: (1)类名是什么? (2)在哪里定义的? (3)它支持什么操作? 成员函数是定义为类的一部分函数,有时也被称为方法(method)。 我们通常以一个类对象的名义来调用成员函数。 使用电运算符(。)来表达我们需要一个名为item1对象的成员。 点运算符只能用于一个类类
阅读全文
posted @ 2018-03-18 20:10
药剂学徒
阅读(119)
推荐(0)
摘要:
在for循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况。在while循环中,循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。两种形
阅读全文
posted @ 2018-03-18 20:09
药剂学徒
阅读(506)
推荐(0)
摘要:
一、向流写入数据 main 的函数体的第一条执行了一个表达式。在c++中,一个表达式产生一个计算结果,他由一个或者多个运算对象和一个运算符组成。 1、输出运算符(<<): (1)std::cout<<"enter two numbers:"<<std::endl; <<运算符接受两个运算对象:左侧的
阅读全文
posted @ 2018-03-18 20:09
药剂学徒
阅读(218)
推荐(0)
摘要:
1、编程的7个主要步骤是什么? 定义程序目标+设计程序+编写程序代码+编译程序+运行程序+测试和调试程序+维护和修改程序 2、编译器的作用:编译器把源代码转换成机器语言代码,也称对象代码。 3、连接器的作用是什么? 连接器把多个源(已编译的源代码,库代码和启动代码)的目标代码连接成一个单独可执行的程
阅读全文
posted @ 2018-03-18 20:08
药剂学徒
阅读(108)
推荐(0)
摘要:
学习一门新的程序设计语言的最好办法就是联系编写程序。在本章中,我们将编写一个程序来简单的解决简单的书店问题。 书店的销售记录中包含了三个信息:书的isbn号;售出的册数;平均售价; 为了编写这个程序,我们需要使用若干C++的特性。而且需要了解如何编译运行程序。 虽然没有编写这个程序,但显然他必须 (
阅读全文
posted @ 2018-03-18 20:08
药剂学徒
阅读(116)
推荐(0)
摘要:
tcp(传输控制协议)ip(网际协议) 1、协议的三要素: (1)语法:就是数据的结构或格式,也就是数据呈现的顺序。就是怎么说。 (2)语义:语义就是指每一段比特流分别表示什么意思。一个特定的位模式怎样解释?同样一个地址,他指得的是下一步的路由?还是报文的终点! (3)同步(时序):数据应当何时发送
阅读全文
posted @ 2018-03-18 20:06
药剂学徒
阅读(317)
推荐(0)
摘要:
ip最初设计了两级编址,就是先到达其所在网络,然后到达其主机。后来发现这样的两级地址还不够。 1、子网掩码: 当一个网络中没有子网划分时,我们使用的就是网络掩码。而当我们将一个网络划分成若干个子网之后,就要为每一个子网建立一个子网掩码。一个子网有主机标识和子网标识两个部分组成。子网划分增加了网络标识
阅读全文
posted @ 2018-03-18 20:05
药剂学徒
阅读(1117)
推荐(0)
摘要:
1、逻辑编制: 因为网络层提供了端到端的通信,所以两台想要进行通信的计 算机就必须具有全球标识系统,称为网络层地址或者逻辑地址。此类标识是通过全球统一的编制机制为网络层提供的。因特网有一个地址空间,么一个要使用因特网的实体都必须从这个地址空间申请唯一的一个地址。 2、源计算机提供的服务: 源计算机上
阅读全文
posted @ 2018-03-18 20:04
药剂学徒
阅读(392)
推荐(0)
摘要:
1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。 2为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过
阅读全文
posted @ 2018-03-18 20:04
药剂学徒
阅读(212)
推荐(0)
摘要:
转发意味者让分组踏上通往终点的路途。转发就是将分组交付给下一跳(下一跳可能是终点,也有可能是一个中间的连接设备). 当IP作为无连接的协议时,转发的基础是IP数据报的目的地址,而当IP作为面向连接的协议时,转发的基础是附加在IP数据报上的标记(IP面向连接协议时在进行发送IP分组之前需要先打通一个链
阅读全文
posted @ 2018-03-18 20:03
药剂学徒
阅读(1247)
推荐(0)
摘要:
异步传递方式(ATM),是由ATM论坛设计的。 ATM是Asynchronous Transfer Mode(ATM)异步传输模式的缩写,是实现B-ISDN的业务的核心技术之一。ATM是以信元为基础的一种分组交换和复用技术。 它是一种为了多种业务设计的通用的面向连接的传输模式。它适用于局域网和广域
阅读全文
posted @ 2018-03-18 20:03
药剂学徒
阅读(836)
推荐(0)
摘要:
交付:是指在网络层的控制下,底层个网络对分组的处理方式。 转发:指的是把分组交付到下一站的方式。 网络层监视底层物理网络对分组的处理过程叫做交付,分为直接交付和间接交付 1、直接交付: 直接交付时,分组的终点是一台与交付着连接在同一个网络上的主机,发生在俩种情况下,分组的源点和终点都在同一个物理网络
阅读全文
posted @ 2018-03-18 20:02
药剂学徒
阅读(477)
推荐(0)
摘要:
1、特殊地址块: (1)全0地址:地址块:0.0.0.0/32,仅含有一个地址,他被保留用于某主机需要发送一个ipv4分组,但是又不知道自己的地址的情况下。通常用于主机正在启动,尚不知道自己的ipv4地址时,主机为了找到自己的ipv4地址时,就像引导服务器(DHCP)发送一个ipv4分组,并以这种全
阅读全文
posted @ 2018-03-18 20:01
药剂学徒
阅读(217)
推荐(0)
摘要:
总而言之,IPV4就是为因特网中的一个分组指明其终点(在网络层)。 分类编制时,指派给一个组织的地址段是:a、b、b类地址的一个地址块。 分类编制时,同一个网络中的所有地址都属于同一个地址块,且每个地址都包含了两个部分:网络标识和主机标识。网络标识指明了网络,而主机标识则指明了连接到该网络的一台特定
阅读全文
posted @ 2018-03-18 20:00
药剂学徒
阅读(159)
推荐(0)
摘要:
在网络层,我们需要对每一个设备进行唯一的标识,这样所有的设备之间才能实现全球范围内的通信。下来我们就要讨论ipv4的编制机制。 TCP/IP簇中用于ip层识别每一个连接到因特网上的设备的标识成为ip地址。IPV4是一个32位的地址,也就是说ip地址就是该接口与因特网连接的地址。ipv4的地址长度为3
阅读全文
posted @ 2018-03-18 20:00
药剂学徒
阅读(1732)
推荐(0)
摘要:
分类编址中,每一类地址,都被划分成为若干个固定数目的地址段,每一个地址块的大小也是固定的。 1、a类:共8位,有7位可以改变,所以有2^7个地址块,可以被指派给128个机构组织,这类地址的每个地址块都包含了2^24=16777216个地址,这就表明要使用这个地址的机构因该是非常大的一个机构。数以百万
阅读全文
posted @ 2018-03-18 19:59
药剂学徒
阅读(1069)
推荐(0)
摘要:
1、分类 在分类编制中ip被分为5类:a,b,c,d,e,每一类占据整个地址空间中的一部分。 (1)辨认类别。 计算机使用2/10进制记法表示地址时,我们能够分类这些地址的类别。 2、网络标识和主机标识 再分类编制中,a,b,c类编址来说,ip地址是可划分为网络标识和主机标识两个部分,d和e类不能划
阅读全文
posted @ 2018-03-18 19:58
药剂学徒
阅读(150)
推荐(0)
摘要:
面向连接的服务中,属于他哦过一个报文的所有分组之间是有关联的。在报文发送之前,首先建立一条虚连接以指定这些数据报通过的路径。在面向连接的服务中,不仅要包含源地址,目的地址,还要包含流标号,也就是一个虚电路标识符,用来指定这些分组应当采取的虚路径。 各个分组的转发数据是包含在分组中的标号。为了理解面向
阅读全文
posted @ 2018-03-18 19:57
药剂学徒
阅读(1209)
推荐(0)
摘要:
报文从源点到终点需要作出许多判决。连接设备就像交换机一样将一个端口与另一个端口连接起来。 1、电路交换: 电路交换就是在报文传递之前,该报文的原点和终点之间现要建立一条物理电路(信道)。在电路建立的前提下,报文完整的从源电发送到终点,然后原点就可以通知网络传输已经完成。此时网络才能开放所有交换机,并
阅读全文
posted @ 2018-03-18 19:56
药剂学徒
阅读(284)
推荐(0)
摘要:
路由器时一个三层设备,他工作在物理层,数据链路层,网络层。作为物理层的设备,他把接收到的信号进行再生。作为数据链路层的设备,路由器检查包含在分组中的物理地址(源地址,目的地址)。作为网络层设备,路由器则要检查网络层地址,(在ip中的地址)。注意:网桥改变了碰撞的范围,而路由器则限制了广播的范围。 路
阅读全文
posted @ 2018-03-18 19:55
药剂学徒
阅读(333)
推荐(0)
摘要:
转发器是一种只在物理层工作的设备。携带信息的信号在网络中只能传播有限的距离,否则衰减会破坏信号的完整性。转发器在信号变的太弱或受到损伤之前接收这个信号,然后再生或重演原来的比特模式。转发器在把刷新后的信号发送出去。再过去,当以太网局域网还使用总线拓扑结构时,转发器的作用是连接一个局域网的两个网段从而
阅读全文
posted @ 2018-03-18 19:54
药剂学徒
阅读(365)
推荐(0)
摘要:
网桥工作在物理层和数据链路层。作为一个物理层的设备,他再生接收到的信号,作为一个数据链路层的设备,网桥可以检查包含在帧中的MAC地址(源地址,目的地址) 1、过滤:网桥有过滤的功能。它能检查帧的目的地址,然后决定从哪个端口将这个帧发送出去。 网桥有一张表,可用于过滤判决。 网桥中不改变帧中的物理MA
阅读全文
posted @ 2018-03-18 19:54
药剂学徒
阅读(378)
推荐(0)
摘要:
为了连接局域网和广域网,我们要使用连接设备。连接设备可以在因特网模型中的不同层次上工作。我们要讨论三种不同的连接设备:转发器(集线器),网桥(两层交换机),路由器(三层交换机)。转发器和集线器工作在因特网模型中的第一层。网桥和两层交换机工作在前两层。路由器和三层交换机,工作在前三层。
阅读全文
posted @ 2018-03-18 19:51
药剂学徒
阅读(183)
推荐(0)
摘要:
虽然电话公司或者有线电视网公司提供了物理链路,但还是需要专门的协议来控制和管理数据的传送。点到点协议就是为此设计的。 1、ppp分层。 ppp只有物理层和数据链路层。ppp没有为物理层定义特定的协议。相反,ppp让实行者自行选择可用的协议。ppp支持ANSI所有认可的协议。在数据链层,ppp定义了帧
阅读全文
posted @ 2018-03-18 19:50
药剂学徒
阅读(756)
推荐(0)
摘要:
因特网的主干网可以是交换广域网。交换广域网是覆盖大面积(一个州或者国家)的广域网,并能向用户提供多个接入点。在网络内部用网状的点到点网络来连接各交换机。这些交换机有多端口连接器,可连接多个输入和输出。 交换广域网技术与局域网技术相比有许多不同之处。首先他不使用星性拓扑结构,而是使用交换机产生多条路径
阅读全文
posted @ 2018-03-18 19:50
药剂学徒
阅读(291)
推荐(0)
摘要:
帧中继协议是用来替换X.25协议的,是一种提供了底层(物理层和数据链路层)服务的交换技术,帧中继相比X.25有一些优点。 1、高数据率:虽然帧中继最初设计是提供1.544Mhz的数据率,相当于T-1线。但是今天绝大多数的实现可以处理高达44.736Mbps的数据率(T-3线) 2、突发数据:(非固定
阅读全文
posted @ 2018-03-18 19:50
药剂学徒
阅读(417)
推荐(0)
摘要:
蓝牙:是设计用于连接具有不同功能的设备的无线局域网技术。蓝牙局域网,是一种自组织网络,也就是说这个网络是自发组成的,这些设备互相找到对方,并形成一个称为微微网的网络。蓝牙局域网甚至能连接到因特网上,只要其中某一个电器具有此功能。 现在蓝牙是指,使用802.15协议实现的,这个协议定义了一个无线个人局
阅读全文
posted @ 2018-03-18 19:48
药剂学徒
阅读(833)
推荐(0)
摘要:
当传统的调制解调器达到其最高数据率后,电话公司有开发出了另外一种技术,即DSL(数字用户线技术),它可以提供到因特网的高速写入。数字用户线技术是使用现有的本地用户线(电话线)来支持高速数字通信的一种最有前途的技术。DSL技术是一组技术的统称,其中每种技术以不同的首字母来区分(ADSL,VDSL,HD
阅读全文
posted @ 2018-03-18 19:48
药剂学徒
阅读(448)
推荐(0)
摘要:
目前有线电视公司和电话公司争夺想要高速接入因特网的居民用户。DSL技术在本地环路上为居民用户提共高数据率的连接。但是,DSL使用的是现存的无屏蔽双绞线电缆,他很容易受到干扰,这就限制了数据率的连接。另一个解决问题的方法是利用有线电视网。 1、传统的有线电视网: 称为头端的有线电视机房接受来自广播电视
阅读全文
posted @ 2018-03-18 19:48
药剂学徒
阅读(808)
推荐(0)
摘要:
IEEE 802.11 的编制机制定义了四种情况,由帧控制(FC)中的两个标志去往DS和来自DS的值决定。每个标志都可能是0或者是1,,其结果是得到四种不同的情况。对于mac帧中的四个地址(从地址1到地址4)的解释则取决于这些标志的值。 来自ds 隐藏站和暴露站的问题: (1)隐藏站问题: 就是某个
阅读全文
posted @ 2018-03-18 19:47
药剂学徒
阅读(272)
推荐(0)
摘要:
1、IEEE 802.11。 IEEE 已经定义了无线局域网的规约,称为IEEE 802.11(协议),它包含了物理层和数据链路层。 体系结构: 802.11这个标准定义了两类服务,基本服务集(BSS),扩展的服务集(ESS) IEEE 802.11将基本服务集(BSS)定义成为无线局域网的基本构件
阅读全文
posted @ 2018-03-18 19:44
药剂学徒
阅读(1675)
推荐(0)
摘要:
冲突检测即发送站点在发送数据时要边发送边监听信道,若监听到信道有干扰信号,则表示产生了冲突,于是就要停止发送数据,计算出退避等待时间,然后使用CSMA方法继续尝试发送。计算退避等待时间采用的是“二进制指数退避算法”。1、冲突检测分类:载波侦听多路访问/碰撞检测(CSMA/CD)此方案要求设备在发送帧
阅读全文
posted @ 2018-03-18 19:44
药剂学徒
阅读(538)
推荐(0)
摘要:
1985年,为了建立一些标准使得来自不同的生产厂商制造的设备之间能够互相通信,IEEE计算机协会启动了一些项目,成为802项目。802项目并不想取代osi模型或互联网模型中的任何一部分,相反,它是用来指明主要局域网协议中物理层和数据链路层功能的一种途径。 802标准与传统的osi标准模型之间的关系如
阅读全文
posted @ 2018-03-18 19:42
药剂学徒
阅读(903)
推荐(0)
摘要:
网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。 工作原理 网卡的主要工作原理是整理计算机上发往网线上的数据,并将数
阅读全文
posted @ 2018-03-18 19:41
药剂学徒
阅读(1783)
推荐(0)
摘要:
网络:地理位置不同的计算机系统通过通信系统连接起来在协议的控制下实现资源共享和相互通信。 (1)组成:端系统(用户使用端系统进行通信,服务交互,资源共享) 通信节点+链路(将负责转发网络分组的交换机,路由器,等设备,称作通信节点。链路就是指两个节点之间的线路) 网络协议:通信双方通过网络进行通信和数
阅读全文
posted @ 2018-03-18 19:38
药剂学徒
阅读(189)
推荐(0)
摘要:
#ifndef _TOU_H_ #define _TOU_H_ template struct DNode { public: T value; DNode* prev; DNode* next; public: DNode() {} DNode(T t, DNode*prev, DNode*next) { this->value = t; this->prev = prev...
阅读全文
posted @ 2018-03-18 10:15
药剂学徒
阅读(154)
推荐(0)