2.1 应用层协议原理 2.1.1网络应用程序体系结构 1)在客户-服务器体系结构 (client-server architecture)中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求.著名的应用程序包括Web.FTP.Telnet和电子邮件. 2)在一个P2P体系结构(P2P architecture)中,对位于数据中心的专用服务器有最小的(或者没有)依赖.相反,应用程序在间断连接的主机对之间使用直接通信,这些主机对被称为对等方. 2.1.2 进程通信 1)客户…
3.1 概述和运输层服务 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication)功能. 3.1.1 运输层和网络层的关系 网络层提供了主机之间的逻辑通信,而运输层为运行在不同的主机上的进程提供了逻辑通信. 3.1.2 因特网运输层概述 Internet上提供TCP(传输控制协议) 和 UDP(用户数据报协议)两种 3.2 多路复用和多路分解  一个进程有一个或多个套接字(socket),它相当于从网络向进程传递数据和从进程向网络传递数据的门户. 接收端…
2.4 DNS:因特网的目录服务 2.4.1 DNS提供的服务 DNS的定义 实体层面看,DNS是一个由分层的DNS服务器实现的分布式数据库 协议层面看,DNS是一个使得主机能够查询分布式数据库的应用层协议 DNS运行在UDP之上,使用53号端口 1)主机名到IP地址映射的转换服务 2)主机别名(host aliasing) 3)提供负载均衡(load distribution) 2.4.2 DNS工作机理概述 DNS是一个在因特网上实现分布式数据库的精彩范例. 1.分布式.层次数据库 DNS服…
4.1 网络层概述  网络层主要功能为转发(将数据从路由器输入接口转移到合适的输出接口)和路由选择(端到端的路径选择),每台路由器都有一张转发表,用最长前缀匹配规则来转发. 4.1.1 转发和路由选择:数据平面和控制平面 转发(forwarding) 是指将分组从一个输入链路转移到适当的输出链路接口的路由器本地动作. 路由选择(routing) 是指确定分组从源到目的地所采取的端到端路径的网络范围处理过程. 4.1.2 网络服务模型 因特网的网络层IP协议提供单一服务,尽力而为服务,无带宽保证,…
3.5 面向连接的运输: TCP 3.5.1 TCP连接 TCP是因特网运输层的面向连接的可靠的运输协议. TCP连接提供全双工服务(full-duplex service). TCP连接是点对点的连接. 1).最大报文段长度(Maximum Segment Size,MSS):该术语很容易被混淆,它其实指的是报文段里应用数据的最大长度,而不是包括TCP首部的TCP报文段的最大长度. 2).最大传输单元(Maximun Transmission Unit,MTU):指的是最大链路层帧长度,即应用…
常见的应用层协议有哪些?  HTTP(HyperText Transfer  Protocol):超文本传输协议 FTP(File Transfer Protocol):文件传输协议 SMTP(Simple Mail Transfer Protocol):简单邮件传输协议 Telnet:远程终端访问 应用层协议定义了什么?   1.交换的报文类型,例如请求报文和响应报文 2.各种报文类型的语法,如报文中的各个字段及这些字段是如何描述的 3.字段的语义,即这些字段中包含的信息的含义 4.一个进程何…
SSL(使 TCP 连接安全) SSL(Secure Socket Layer),即安全套接字层,是对 TCP 的强化 HTTPS 使用 SSL,而 HTTP 不使用 SSL 通过采用机密性.数据完整性.服务器鉴别和客户鉴别来强化 TCP SSL 使 TCP 安全了,所以它能被应用于运行在 TCP 之上的任何应用程序   IPsec 和虚拟专用网 对于跨越在多个地理区域上的某机构,常常希望有自己的 IP 网络,使它的主机和服务器能够以一种安全和机密的方式彼此发送数据.然而,为了达到这个目标,该机…
由于个人精力和智商有限,又喜欢想太多.钻牛角尖,导致学习系统性知识很痛苦,尝试改变学习方式,慢慢摸索 现在看到 rdt2.0,又有点看不下去 现在的想法: 要有个目标,且有截止时间(作业模式.考试模式),在过程中,如果遇到对整体没有致命影响的难点,可以暂时跳过,在特定时间内把目标内的其他地方解决即可(即先解决简单的其他部分,在考虑进攻难点,这样的话,前期心态不会太焦灼,而且等回过头进攻难点的时候,有一种从四面八方将难点包围的感觉)   写博客也换个思路: 边写博客,边摸索写博客的方式,而且可以把…
待补充完善 TCP 相关基本点 1.面向连接 两个不同主机上的进程在通过 TCP 进行通信之前,必须先通过三次握手来建立 TCP 连接 2.全双工服务 即,如果一台主机上的进程 A 与另一台主机上的进程 B 存在一条 TCP 连接,那么应用层数据就可以从进程 B 流向进程 A 的同时,也从进程 A 流向进程 B. 3.TCP 连接提供的是“点对点”的服务 即一对一的服务,不可能一对多.多对一或者多对多 什么是流量控制?为什么要进行流量控制? 后一个问题可以转化为:如果不进行流量控制,任其自然发展…
待补充完善 Web 页面的请求历程 应用层     报文.主机 运输层     报文段. 网络层     数据报.路由器.IP 地址 链路层     以太网帧.交换机.MAC 地址 步骤 1)到 4),涉及三台机器,分别是便携机.以太网交换机.路由器 便携机:生成 DHCP 请求报文.将报文封装到报文段中.将报文段封装到数据报中.将数据报封装到以太网帧中.广播以太网帧 以太网交换机:接收便携机传过来的以太网帧.广播以太网帧 路由器:接收来自以太网交换机的以太网帧.从以太网帧中提取数据报.从数据报…
域名.主机名?   从范围上看: 域名的范围比主机名大 一个域名下通常有多个主机名 从组成上看: 主机名 = 服务器名(或计算机名) + 域名 举例说明: baidu.com 是百度的域名 www.baidu.com 是百度的 www 主机名 map.baidu.com 是百度的地图主机名     DNS 是什么?   DNS 的全称 Domain Name System,即域名系统 它的作用是提供主机名到 IP 地址的映射 在上一个问题中讨论了域名和主机名的区别,知道它们不是一回事,至于为什么…
[A Top-Down Approach][第一章 计算机网络和因特网] 标签(空格分隔): 计算机网络 介绍基本术语和概念 查看构成网络的基本硬件和软件组件. 从网络的边缘开始,考察在网络中运行的端系统和网络应用 探究计算机的核心,链路和交换机 以及,将端系统和网络核心相连接的接入网和物理媒体 了解因特网是网络的网络 后半部分更加广泛 数据的延迟,丢包和吞吐量 给出一个端到端吞吐量和延迟的简单定量魔性. 协议分层,服务模式 网络攻击 互联网的历史 1.1 什么是因特网 回答这种问题的两种方式:…
第十二章 Perl5中的引用/指针 by flamephoenix 一.引用简介二.使用引用三.使用反斜线(\)操作符四.引用和数组五.多维数组六.子程序的引用  子程序模板七.数组与子程序八.文件句柄的引用 一.引用简介    引用就是指针,可以指向变量.数组.哈希表(也叫关联数组)甚至子程序.Pascal或C程序员应该对引用(即指针)的概念很熟悉,引用就是某值的地址,对其的使用则取决于程序员和语言的规定.在Perl中,可以把引用称为指针,二者是通用的,无差别的.引用在创建复杂数据方面十分有用…
第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生表 CREATE TABLE `student`( `sid` INT(4) AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT'学生编号', `stuName` VARCHAR(10) NOT NULL COMMENT'学生姓名', `age` INT(4) N…
转载请注明出处. 第一章 前言(中) 1.1 本书适合哪些人阅读? 能够说本书的受众目标比較广泛,可是本书可能更适合于例如以下的两类人群.一类是学习过与机器学习相关课程的大学生们(本科生或者研究生).这包含了那些刚刚開始深度学习和AI研究的同学们.还有一类是有机器学习或统计学背景的.想高速将深度学习应用在其产品或平台中的软件开发人员们.深度学习早已被证实能够在很多软件应用中发挥光和热.比方:计算机视觉.语音与视频处理.自然语言理解.机器人学.生物学与化学.电视游戏.搜索引擎.在线广告与金融学等等…
第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.window事件.表单事件.事件的绑定和处理函数的语法格式如下: 语法:时间名="函数名()"; 或: DOM 对象.事件名=函数 1.载入事件 在jQuery中,常用的window事件有文档载入事件,它对应的方法是ready(). 2.鼠标事件 当用户在文档上移动或单击鼠标而产生的事件. 方法…
CHAPTER 7 Science in Islam 第7章 伊斯兰中的科学 Galen did not live to see the decline of the Roman Empire, but by AD 307 it had been split in two. The new emperor, Constantine (280-337), moved his seat of power to the east- to Constantinople, now Istanbul in…
计算机图形学 opengl版本 第三版------胡事民 第四章  图形学中的向量工具 一   基础 1:向量分析和变换   两个工具  可以设计出各种几何对象 点和向量基于坐标系定义 拇指指向z轴正方向    从x轴的正向握向y轴的正向,  可以分为左手和右手坐标系. 点A到点B的位移称为向量v       则v=B-A     尾-头 一个n维向量是一个n元组      w=(w1,w2,w3,...) 用矩阵来表示向量  更加方便清晰 2:向量的基本运算法则 向量a b      标量s…
章多线程 13.1 线程概述 计算机的操作系统多采用多任务和分时设计.多任务是指在一个操作系统中开以同时运行多个程序.例如,可以在使用QQ聊天的同时听音乐,即有多个独立的任务,每个任务对应一个进程,每个进程也可产生多个线程. 13.1.1 进程 认识进程先从程序开始,程序(Program)是对数据描述与操作的代码的集合,如Office中的Word,影音风暴等应用程序. 进程(Process)是程序的一次动态执行过程,它对应了从代码加载.执行至执行完毕的一个完整过程,这个过程也是进程本身从产生.发…
第4章 Java中Socket的用法 4.1 普通Socket的用法 Java中的网络通信是通过Socket实现的,Socket分为ServetSocket和Socket两大类,ServetSocket用于服务端,可以通过accept的方法监听请求,监听到请求后返回Socket,Socket用于具体完成数据传输,客户端直接使用Socket发起请求并传输数据. ServerSocket的使用可以分为三步: 1)创建ServerSocket.ServerSocket的构造方法一共有5个,用起来最方便…
第9章 Java中的线程池 在开发过程中,合理地使用线程池能带来3个好处: 降低资源消耗.通过重复利用已创建的线程 降低线程创建和销毁造成的消耗. 提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行. 提高线程的可管理性.线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配.调优和监控. 9.1 线程池的实现原理 当提交一个新任务到线程池时,线程池的处理流程如下: 1)线程池判断核心线程池里的线程是否都在执行任务.如果不是,则创建…
第14章 C++中的代码重用 1. 使用公有继承时,类可以继承接口,可能还有实现(基类的纯虚函数提供接口,但不提供实现).获得接口是is-a关系的组成部分.而使用组合,类可以获得实现,但不能获得接口.不继承接口是has-a关系的组成部分. 2. C++还有另一种实现has-a关系的途径--私有继承.使用私有继承,基类的公有成员和保护成员都将称为派生类的私有成员.这意味着基类方法将不会称为派生类对象公有接口的一部分,但可以在派生类的成员函数中使用它们. 3. 包含将对象作为一个命名的成员对象添加到…
全部章节   >>>> 本章目录 7.1 理解类和对象 7.1.1 对象 7.1.2 抽象与类 7.1.3 类与对象的关系: 7.2 Java中的类和对象 7.2.1 类的定义 7.2.2 类的成员 7.2.3 实践练习(一) 7.2.4 实践练习(二) 7.3 对象的创建和使用 7.3.1 对象的创建 7.3.2 对象的创建和使用 7.3.3 实践练习 7.4 面向对象 7.4.1 面向对象编程 7.4.2 数据类型终结 7.4.3 构造方法 7.4.4 实践练习 总结: 7.1…
在CoffeeScript中定义类 在CoffeeScript中,使用class定义类,使用关键字new实例化对象. 给类绑定方法 class Airplane takeOff: -> console.log 'Vrroom!' plane = new Airplane() plane.takeOff() CoffeeScript如何构建Javascript类 CoffeeScript中的类型系统基于JavaScript的原型继承实现.上面的代码生成的JavaScript代码为: var Air…
在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,错误产生时,我的代码如下: SqlHelper.cs代码如下: public static SqlDataReader ExecuteReader(string sql)         {             using (SqlConnection conn = new…
此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中. 2.窗体代码添加 using System.Runtime.InteropServices;//和Html页面交互使用 在类的上一行添加 [ComVisible(true)]//和Html页面交互使用 在类的构造其中添加 this.webB.ObjectForScripting = this;…
项目中要使用动态加载,原计划是生成WWW对象后,放到一个容器里.由一个独立线程轮询容器里的对象,如果www.isDone为true时,回调一个接口把结果交给请求方. new Thread( new ThreadStart( XXX.run ) ); 运行以后出现下面错误: 详细错误: get_isDone  can only be called from the main thread.Constructors and field initializers will be executed fr…
jquery中Live方法不可用,Jquery中Live方法失效 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>. 蕃薯耀 2016年1月27日 09:31:23 星期三 http://fansh…
(一)Eclipse中的快捷键:  ctrl+shift+f自动整理选择的java代码 alt+/ 生成无参构造器或者提升信息 alt+shift+s+o 生成带参构造 ctrl+shift+o快速导入包 alt+shift+s+r tab+enter-->shift+tab+enter 快速生成get set方法 ctrl+f11快速运行代码 说明:快捷键可以快速帮我们生成代码,减少开发的时间,提高效率,记住几个主要的就可以,其他的可以在Eclipse的编辑器中右键鼠标,在弹出的菜单项中选择s…
jsp的C标签一般使用方法以及js接收servlet中的对象及对象数组 由于现流行的javaWeb框架提倡前后端分离,比如在SpringMvc中已经很少写servlet的一些东西:目前 前端jsp中大多是一些纯html和js,很少用到jstl的一堆东西,后端也仅仅处理一些前端的post.get请求或页面跳转,无须以往繁琐的xml路径映射和filter过滤. 不过有时也会用到servlet作用域中的一些东西,比如某个固定的值.上下文路径等等~,不过这些东西大多数也仅限于取值而不是设置值(或对象),…