Delphi程序的设计基础教程第11章 网络编程基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)怎样标识出分布在整个因特网上的WWW文档? (2)万维网上的各种超链接是通过什么协议来实现的? (3)怎样使用户可以方便地在万维网上找到自己所需要的
信息? (4)怎样使不同作者创作的不同风格的WWW文档都能在因特
网上的各种计算机上显示出来,同时使用户清楚地知道在什 么地方存在着超链接?
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
在上一节已经介绍了Winsock通信机制,并且讲到了根 据传输数据类型的不同,常用的Socket类型有两种: 一种是面向连接的流式Socket,另一种是无连接的数 据报式Socket。
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
Telnet协议 Telnet是一个简单的远程终端协议,使用的是客户/服务器方
式。用户在用Telnet可以登录到远端的另外一个主机上。使用 Telnet协议进行远程登陆时需要满足以下条件:在本的计算机 上必须装有包含Telnet协议的客户程序;必须知道远程主机的 IP地址或域名;必须知道登录标识与口令。Telnet以前应用得 很多,现在有由于PC机的功能越来越强,用户已较少使用了。 但作为应用层的一个主要协议,Delphi还是对Telnet协议提供 了很好的支持。在Delphi中使用TIdTelnet组件和 TIdTelnetServer组件实现Telnet。
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
Web服务器工作原理
当客户需要服务器提供服务时,会通过网络 向服务器发出一个连接请求,而此时Web服务 器在网络中处于侦听状态,当这个请求通过 网络被Web服务器得到以后,Web浏览器与Web 服务器建立起连接。Web浏览器再向Web服务 器提出服务请求,Web服务器根据请求做出响 应,响应的结果再从网络传输给Web浏览器。 当通话结束后,Web服务器断开与Web浏览器 的连接。
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
Web程序的基本结构仍然是客户/服务器模 型。客户端为Web浏览器,在上一节我们已经 介绍过了。服务器端为Web服务器,在这一节 里我们将介绍Web服务器的工作原理以及在应 用层有哪些应用,dephi给我们提供了哪些组 件来实现这些应用。
11.3 设计Web服务器
从图11-13我们可以看出,对于面向连接的通信,服 务器端首先创建Socket,然后将其与本地的IP地址和 通信端口绑定(Bind),并对绑定的端口进行监听 (Listen),一旦服务器监听到客户端的通信请求 (Connect)后,返回一个新的套接字与用户连接,而 原有的套接字继续放在网络中处于监听状态,以接受 其他用户的连接请求。然后读出(Accept)客户端的发 送信息,完成相应处理 (Recv/Send)后再写入处理结 果。客户端需要通信时,创建本地Socket并完成与服 务器端的连接(Connect),即可写入(Send)或读出 (Recv)通信数据。但客户端完成通信后关闭套接字 (Socket),并通知服务器,然后关闭连接,结束此次 通信。
DELPHI程序设计基础教程
2021年5月18日星期
11.4 电子邮件系统的开发
TIdSMTP Delphi7提供了一些组件,封装了SMTP协议,用来
开发SMTP客户端程序。主要的组件有TIdSMTP、 TIdMessage和TIdAttachment。利用这些组件可以快 速地开发一个电子邮件的发送软件。 TIdPOP3
DELPHI程序设计基础教程
2021年5月18日星期
11.1 网络基础知识
图11-1 客户/服务器模型
DELPHI程序设计基础教程
2021年5月18日星期
11.1 网络基础知识
2.计算机网络的体系结构
最常见的两种模型,一个是ISO-OSI 体系结构的七层模型,一个是TCP/IP协 议体系结构的四层模型。
11.1 网络基础知识
计算机网络目前已经深入到人们生活中的各个角
落,计算机网络技术也成了当前计算机技术发展的 热点之一。那么,什么是网络编程呢?
W.Richard.Stevens在他所著的《UNIX网络编程》 中是这样解释的:网络编程,即是编写通过计算机 网络与其他程序进行通信的这类程序。作为流行的 编程工具,Delphi的网络编程功能非常强大。在本 章将首先介绍网络的基本知识,特别是网络的客户 机/服务器模式以及网络协议;然后通过实例介绍 Web浏览器、Web服务器以及电子邮件系统的原理 和开发。
DELPHI程序设计基础教程
2021年5月18日星期
11.2 建立Web浏览器
浏览器的设计
Delphi具有强大的网络编程功能,在进行设 计之前,先介绍一下Delphi提供的用于设计 Web浏览器的组件-TWebBrowser组件。
TWebBrowser组件位于Internet组件页中, 使用该组件开发的应用程序可以浏览网页、 查看文档、数据下载等功能。
2021年5月18日星期
11.3 设计Web服务器
应用层协议控件及应用
应用层是TCP/IP协议模型中的最高层,它直接面 对用户的具体应用。TCP/IP协议模型在这一层有 着很多协议来支持不同的应用,许多大家所熟悉 的Internet的应用的实现都离不开这些协议。如 我们进行万维网(WWW)访问用到了超文本传送 协议(hyper text transfer protocol,HTTP)、 文件传输用到了文件传送协议(file transfer protocol,FTP)、电子邮件发送用到了简单邮件 传 送 协 议 (simple mail transfer protocol , SMTP) 、 域 名 的 解 析 用 到 了 域 名 系 统 (domain name system,DNS);、 远程登录用到了远程登录 协议(Telnet),都是属于TCP/IP应用层的。
DELPHI程序设计基础教程
2021年5月18日星期
11.2 建立Web浏览器
统一资源定位符URL 统一资源定位符URL是用于完整地描述
Internet上网页和其他资源的地址的一种 标识方法。Internet上的每一个网页都具 有一个唯一的名称标识,通常称之为URL地 址,简单地说,URL就是Web地址,俗称“ 网址”。
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
HTTP协议 在11.2.1节中已经介绍过HTTP协议,
在Delphi7的Indy组件集当中,TIdHTTP 组件和TIdHTTPServer组件实现超文本 传输协议。
DELPHI程序设计基础教程
2021年5月18日星期
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
FTP协议
与大多数Internet服务一样,FTP是一个基于客户/ 服务器模型的应用层协议。用户通过一个支持FTP协 议的客户机程序,连接到在远程主机上的FTP服务器 程序。用户通过客户机程序向服务器程序发出命令, 服务器程序执行用户所发出的命令,并将执行的结果 返回到客户机。
DELPHI程序设计基础教程
2021年5月18日星期
超文本传送协议HTTP
HTTP协议(Hypertext Transfer Protocol ,超文本传输协议)是应用层的一个协议,用 于从WWW服务器传输超文本到本地浏览器。
winsock通信机制
根据传输数据类型的不同,常用的Socket 类型有两种:流式Socket(STREAM SOCKET )和数据报式Socket(DATAGRAM SOCK)。 流式是一种面向连接的Socket,针对于面向连 接的TCP服务应用;数据报式Socket是一种无连 接的Socket,对应于无连接的UDP服务应用。
DELPHI程序设计基础教程
2021年5月18日星期
11.2 建立Web浏览器
万维网使用统一资源定位符URL(Uniform Resource Locator)来标识万维网上的各种文档,并且每个文 档在整个因特网的范围内,标识符URL是惟一的,这 样解决了第一个问题。为了解决第二个问题,万维网 客户程序和万维网服务器程序之间的交互要遵循严格 的协议,这个协议就是超文本传送协议HTTP( Hypertext Transfer Protocol)。HTTP是一个应用 层协议,它使用TCP连接进行可靠的传送。为了使用 户可以方便地在万维网上找到自己所需要的信息,用 户可使用各种搜索工具。第四个问题的解决,万维网 使用了超文本标记语言HTML(Hypertext Markup Language),这样只要使用了HTML语言编写的WWW文 档都可以在因特网上的计算机上显示出来,WWW文档 的设计者也可以很方便地用超链接从一个WWW文档连 接到因特网上的其它WWW页面上了。
TIdFTP和TIdFTPServer是Indy9中专门支持FTP协 议的组件。使用这两个组件既可以开发FTP客户端程 序,又可以开发出功能完善的FTP服务器软件。
DELPHI程序设计基础教程
2021年5月18日星期
11.4 电子邮件系统的开发
电子邮件是当前网络当中的一个重要应用。用户在发 送电子邮件的时候,电子邮件首先被发送到ISP( Internet Service Provider,互联网服务提供商) 的邮件服务器,并被放在收信人邮箱中,收信人上网 后,可到ISP的邮件服务器进行读取。从这可以看出 ,电子邮件系统应包括电子邮件收发程序、邮件服务 器以及电子邮件使用的协议。在应用层,SMTP协议是 用来解决电子邮件发送的问题的,POP3(Post Office Protocol 3,邮局协议的第3个版本)和IMAP( Internet Message Access Protocol,因特网报文存 取协议)是用来解决电子邮件接收的问题的。
WWW是一种典型的客户机/服务器方 式,它一般采用Web浏览器作为WWW客 户程序。而储存网页的计算机运行服 务器程序,这个运行服务器程序的计 算机常常被称为Web服务器。
DELPHI程序设计基础教程
2021年5月18日星期
11.2 建立Web浏览器
浏览器的工作原理
WWW 的工作基于客户机/服务器计算模型的,Web浏览器向 Web服务器发出请求,而Web服务器接收到请求后向Web浏览 器发回其所请求的WWW文档,这个WWW文档通常被称为页面( page)。在这个过程当中,必须要解决这样几个问题:
DELPHI程序设计基础教程
2021年5月18日星期
Байду номын сангаас
11.1 网络基础知识
图11-2 ISO/OSI参考模型
DELPHI程序设计基础教程
2021年5月18日星期
11.1 网络基础知识
图 11-3 ISO-OSI与TCP/IP参考模型
DELPHI程序设计基础教程
2021年5月18日星期
11.2 建立Web浏览器
DELPHI程序设计基础教程
2021年5月18日星期
11.1 网络基础知识
1.客户/服务器模式
计算机网络,顾名思义就是由多台计算机(或其 它计算机网络设备)通过传输介质和软件物理(或逻 辑)连接在一起组成的网络。在这个网络里,计算机 与计算机之间可以完成资源共享、数据传输等任务。 而在这个过程当中,存在着这样两种情况:一种是请 求服务,另一种则是提供服务的,这种主从关系被称 为客户/服务器模型(即Client/Server模型,常简写 为C/S模型)。客户端可以通过网络向服务器端发出服 务请求,当服务器端接收到请求后做出响应,然后再 通过网络将响应传回到客户端,如图11-1所示。
DELPHI程序设计基础教程
2021年5月18日星期
11.3 设计Web服务器
从图11-14中可以看出,采用无连接的套接字进行通 信,由于在数据报中已包含对端地址,无连接通信的 双方在创建了本地Socket并与IP地址和通信端口绑定 (Bind)后,即可接收(Recv)或发送(Send)数据。
DELPHI程序设计基础教程
相关文档
最新文档