《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础

上传人:E**** 文档编号:89397748 上传时间:2019-05-24 格式:PPT 页数:29 大小:715.50KB
返回 下载 相关 举报
《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础_第1页
第1页 / 共29页
《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础_第2页
第2页 / 共29页
《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础_第3页
第3页 / 共29页
《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础_第4页
第4页 / 共29页
《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础》由会员分享,可在线阅读,更多相关《《Delphi程序设计基础教程》-曹静-电子教案 第11章 网络编程基础(29页珍藏版)》请在金锄头文库上搜索。

1、DELPHI程序设计基础教程,第十一章 网络编程基础,第十一章 网络编程基础,本章学习导读 11.1 网络基础知识 11.2 建立Web浏览器 11.3 设计Web服务器 11.4 电子邮件系统的开发 本章小结,2019年5月24日星期五,DELPHI程序设计基础教程,本章学习导读,计算机网络目前已经深入到人们生活中的各个角落,计算机网络技术也成了当前计算机技术发展的热点之一。那么,什么是网络编程呢?W.Richard.Stevens在他所著的UNIX网络编程中是这样解释的:网络编程,即是编写通过计算机网络与其他程序进行通信的这类程序。作为流行的编程工具,Delphi的网络编程功能非常强大。在

2、本章将首先介绍网络的基本知识,特别是网络的客户机/服务器模式以及网络协议;然后通过实例介绍Web浏览器、Web服务器以及电子邮件系统的原理和开发。,2019年5月24日星期五,DELPHI程序设计基础教程,计算机网络目前已经深入到人们生活中的各个角落,计算机网络技术也成了当前计算机技术发展的热点之一。那么,什么是网络编程呢? W.Richard.Stevens在他所著的UNIX网络编程中是这样解释的:网络编程,即是编写通过计算机网络与其他程序进行通信的这类程序。作为流行的编程工具,Delphi的网络编程功能非常强大。在本章将首先介绍网络的基本知识,特别是网络的客户机/服务器模式以及网络协议;然

3、后通过实例介绍Web浏览器、Web服务器以及电子邮件系统的原理和开发。,11.1 网络基础知识,2019年5月24日星期五,DELPHI程序设计基础教程,11.1 网络基础知识,1客户/服务器模式 计算机网络,顾名思义就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的网络。在这个网络里,计算机与计算机之间可以完成资源共享、数据传输等任务。而在这个过程当中,存在着这样两种情况:一种是请求服务,另一种则是提供服务的,这种主从关系被称为客户/服务器模型(即Client/Server模型,常简写为C/S模型)。客户端可以通过网络向服务器端发出服务请求,当服务器端接

4、收到请求后做出响应,然后再通过网络将响应传回到客户端,如图11-1所示。,2019年5月24日星期五,DELPHI程序设计基础教程,11.1 网络基础知识,图11-1 客户/服务器模型,2019年5月24日星期五,DELPHI程序设计基础教程,11.1 网络基础知识,2计算机网络的体系结构 最常见的两种模型,一个是ISO-OSI体系结构的七层模型,一个是TCP/IP协议体系结构的四层模型。,2019年5月24日星期五,DELPHI程序设计基础教程,图11-2 ISO/OSI参考模型,11.1 网络基础知识,2019年5月24日星期五,DELPHI程序设计基础教程,图 11-3 ISO-OSI与

5、TCP/IP参考模型,11.1 网络基础知识,2019年5月24日星期五,DELPHI程序设计基础教程,11.2 建立Web浏览器,WWW是一种典型的客户机/服务器方式,它一般采用Web浏览器作为WWW客户程序。而储存网页的计算机运行服务器程序,这个运行服务器程序的计算机常常被称为Web服务器。,2019年5月24日星期五,DELPHI程序设计基础教程,11.2 建立Web浏览器,浏览器的工作原理 WWW 的工作基于客户机/服务器计算模型的,Web浏览器向Web服务器发出请求,而Web服务器接收到请求后向Web浏览器发回其所请求的WWW文档,这个WWW文档通常被称为页面(page)。在这个过程

6、当中,必须要解决这样几个问题: (1)怎样标识出分布在整个因特网上的WWW文档? (2)万维网上的各种超链接是通过什么协议来实现的? (3)怎样使用户可以方便地在万维网上找到自己所需要的信息? (4)怎样使不同作者创作的不同风格的WWW文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链接?,2019年5月24日星期五,DELPHI程序设计基础教程,11.2 建立Web浏览器,万维网使用统一资源定位符URL(Uniform Resource Locator)来标识万维网上的各种文档,并且每个文档在整个因特网的范围内,标识符URL是惟一的,这样解决了第一个问题。为了

7、解决第二个问题,万维网客户程序和万维网服务器程序之间的交互要遵循严格的协议,这个协议就是超文本传送协议HTTP(Hypertext Transfer Protocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。为了使用户可以方便地在万维网上找到自己所需要的信息,用户可使用各种搜索工具。第四个问题的解决,万维网使用了超文本标记语言HTML(Hypertext Markup Language),这样只要使用了HTML语言编写的WWW文档都可以在因特网上的计算机上显示出来,WWW文档的设计者也可以很方便地用超链接从一个WWW文档连接到因特网上的其它WWW页面上了。,2019年5月2

8、4日星期五,DELPHI程序设计基础教程,11.2 建立Web浏览器,统一资源定位符URL 统一资源定位符URL是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL地址,简单地说,URL就是Web地址,俗称“网址”。,2019年5月24日星期五,DELPHI程序设计基础教程,超文本传送协议HTTP HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是应用层的一个协议,用于从WWW服务器传输超文本到本地浏览器。 winsock通信机制 根据传输数据类型的不同,常用的Soc

9、ket类型有两种:流式Socket(STREAM SOCKET)和数据报式Socket(DATAGRAM SOCK)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。,2019年5月24日星期五,DELPHI程序设计基础教程,11.2 建立Web浏览器,浏览器的设计 Delphi具有强大的网络编程功能,在进行设计之前,先介绍一下Delphi提供的用于设计Web浏览器的组件TWebBrowser组件。 TWebBrowser组件位于Internet组件页中,使用该组件开发的应用程序可以浏览网页、查看文

10、档、数据下载等功能。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,Web程序的基本结构仍然是客户/服务器模型。客户端为Web浏览器,在上一节我们已经介绍过了。服务器端为Web服务器,在这一节里我们将介绍Web服务器的工作原理以及在应用层有哪些应用,dephi给我们提供了哪些组件来实现这些应用。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,Web服务器工作原理 当客户需要服务器提供服务时,会通过网络向服务器发出一个连接请求,而此时Web服务器在网络中处于侦听状态,当这个请求通过网络被Web服务器得到以后,Web浏

11、览器与Web服务器建立起连接。Web浏览器再向Web服务器提出服务请求,Web服务器根据请求做出响应,响应的结果再从网络传输给Web浏览器。当通话结束后,Web服务器断开与Web浏览器的连接。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,在上一节已经介绍了Winsock通信机制,并且讲到了根据传输数据类型的不同,常用的Socket类型有两种:一种是面向连接的流式Socket,另一种是无连接的数据报式Socket。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,从图11-13我们可以看出,对于面向连接的通信,服务器

12、端首先创建Socket,然后将其与本地的IP地址和通信端口绑定(Bind),并对绑定的端口进行监听(Listen),一旦服务器监听到客户端的通信请求(Connect)后,返回一个新的套接字与用户连接,而原有的套接字继续放在网络中处于监听状态,以接受其他用户的连接请求。然后读出(Accept)客户端的发送信息,完成相应处理 (Recv/Send)后再写入处理结果。客户端需要通信时,创建本地Socket并完成与服务器端的连接(Connect),即可写入(Send)或读出(Recv)通信数据。但客户端完成通信后关闭套接字(Socket),并通知服务器,然后关闭连接,结束此次通信。,2019年5月24

13、日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,从图11-14中可以看出,采用无连接的套接字进行通信,由于在数据报中已包含对端地址,无连接通信的双方在创建了本地Socket并与IP地址和通信端口绑定(Bind)后,即可接收(Recv)或发送(Send)数据。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,应用层协议控件及应用 应用层是TCP/IP协议模型中的最高层,它直接面对用户的具体应用。TCP/IP协议模型在这一层有着很多协议来支持不同的应用,许多大家所熟悉的Internet的应用的实现都离不开这些协议。如我们进行万维网(WWW)

14、访问用到了超文本传送协议(hyper text transfer protocol,HTTP)、文件传输用到了文件传送协议(file transfer protocol,FTP)、电子邮件发送用到了简单邮件传送协议(simple mail transfer protocol,SMTP)、域名的解析用到了域名系统(domain name system,DNS);、 远程登录用到了远程登录协议(Telnet),都是属于TCP/IP应用层的。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,HTTP协议 在11.2.1节中已经介绍过HTTP协议,在Delphi7

15、的Indy组件集当中,TIdHTTP组件和TIdHTTPServer组件实现超文本传输协议。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,Telnet协议 Telnet是一个简单的远程终端协议,使用的是客户/服务器方式。用户在用Telnet可以登录到远端的另外一个主机上。使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的IP地址或域名;必须知道登录标识与口令。Telnet以前应用得很多,现在有由于PC机的功能越来越强,用户已较少使用了。但作为应用层的一个主要协议,Delphi还是

16、对Telnet协议提供了很好的支持。在Delphi中使用TIdTelnet组件和TIdTelnetServer组件实现Telnet。,2019年5月24日星期五,DELPHI程序设计基础教程,11.3 设计Web服务器,FTP协议 与大多数Internet服务一样,FTP是一个基于客户/服务器模型的应用层协议。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。 TIdFTP和TIdFTPServer是Indy9中专门支持FTP协议的组件。使用这两个组件既可以开发FTP客户端程序,又可以开发出功能完善的FTP服务器软件。,2019年5月24日星期五,DELPHI程序设计基础教程,11.4 电子邮件系统的开发,电子邮件是当前网络当中的一个重要应用。用户在发送电子邮件的时候,电子邮件首先被发送到ISP(Internet Service Provider,互联网服务提供商)的邮件服务器,并被放在收信人邮箱中,收信人上网后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号