




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Delphi程序的设计基础教程第11章-网络编程基础Delphi程序的设计基础教程第11章-网络编程基础第十一章 网络编程基础本章学习导读11.1 网络基础知识11.2 建立Web浏览器11.3 设计Web服务器11.4 电子邮件系统的开发本章小结第十一章 网络编程基础本章学习导读21 九月 2022DELPHI程序设计基础教程本章学习导读计算机网络目前已经深入到人们生活中的各个角落,计算机网络技术也成了当前计算机技术发展的热点之一。那么,什么是网络编程呢?W.Richard.Stevens在他所著的UNIX网络编程中是这样解释的:网络编程,即是编写通过计算机网络与其他程序进行通信的这类程序。
2、作为流行的编程工具,Delphi的网络编程功能非常强大。在本章将首先介绍网络的基本知识,特别是网络的客户机/服务器模式以及网络协议;然后通过实例介绍Web浏览器、Web服务器以及电子邮件系统的原理和开发。21 九月 2022DELPHI程序设计基础教程本章学习导读21 九月 2022DELPHI程序设计基础教程 计算机网络目前已经深入到人们生活中的各个角落,计算机网络技术也成了当前计算机技术发展的热点之一。那么,什么是网络编程呢? W.Richard.Stevens在他所著的UNIX网络编程中是这样解释的:网络编程,即是编写通过计算机网络与其他程序进行通信的这类程序。作为流行的编程工具,Del
3、phi的网络编程功能非常强大。在本章将首先介绍网络的基本知识,特别是网络的客户机/服务器模式以及网络协议;然后通过实例介绍Web浏览器、Web服务器以及电子邮件系统的原理和开发。11.1 网络基础知识21 九月 2022DELPHI程序设计基础教程 计算21 九月 2022DELPHI程序设计基础教程11.1 网络基础知识1客户/服务器模式 计算机网络,顾名思义就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的网络。在这个网络里,计算机与计算机之间可以完成资源共享、数据传输等任务。而在这个过程当中,存在着这样两种情况:一种是请求服务,另一种则是提供服务的,
4、这种主从关系被称为客户/服务器模型(即Client/Server模型,常简写为C/S模型)。客户端可以通过网络向服务器端发出服务请求,当服务器端接收到请求后做出响应,然后再通过网络将响应传回到客户端,如图11-1所示。 21 九月 2022DELPHI程序设计基础教程11.1 网21 九月 2022DELPHI程序设计基础教程11.1 网络基础知识图11-1 客户/服务器模型 21 九月 2022DELPHI程序设计基础教程11.1 网21 九月 2022DELPHI程序设计基础教程11.1 网络基础知识2计算机网络的体系结构 最常见的两种模型,一个是ISO-OSI体系结构的七层模型,一个是T
5、CP/IP协议体系结构的四层模型。 21 九月 2022DELPHI程序设计基础教程11.1 网21 九月 2022DELPHI程序设计基础教程图11-2 ISO/OSI参考模型11.1 网络基础知识21 九月 2022DELPHI程序设计基础教程图11-2 21 九月 2022DELPHI程序设计基础教程图 11-3 ISO-OSI与TCP/IP参考模型11.1 网络基础知识21 九月 2022DELPHI程序设计基础教程图 11-321 九月 2022DELPHI程序设计基础教程11.2 建立Web浏览器 WWW是一种典型的客户机/服务器方式,它一般采用Web浏览器作为WWW客户程序。而储
6、存网页的计算机运行服务器程序,这个运行服务器程序的计算机常常被称为Web服务器。 21 九月 2022DELPHI程序设计基础教程11.2 21 九月 2022DELPHI程序设计基础教程11.2 建立Web浏览器浏览器的工作原理WWW 的工作基于客户机/服务器计算模型的,Web浏览器向Web服务器发出请求,而Web服务器接收到请求后向Web浏览器发回其所请求的WWW文档,这个WWW文档通常被称为页面(page)。在这个过程当中,必须要解决这样几个问题:(1)怎样标识出分布在整个因特网上的WWW文档?(2)万维网上的各种超链接是通过什么协议来实现的?(3)怎样使用户可以方便地在万维网上找到自己
7、所需要的信息?(4)怎样使不同作者创作的不同风格的WWW文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链接?21 九月 2022DELPHI程序设计基础教程11.2 21 九月 2022DELPHI程序设计基础教程11.2 建立Web浏览器万维网使用统一资源定位符URL(Uniform Resource Locator)来标识万维网上的各种文档,并且每个文档在整个因特网的范围内,标识符URL是惟一的,这样解决了第一个问题。为了解决第二个问题,万维网客户程序和万维网服务器程序之间的交互要遵循严格的协议,这个协议就是超文本传送协议HTTP(Hypertext Tr
8、ansfer Protocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。为了使用户可以方便地在万维网上找到自己所需要的信息,用户可使用各种搜索工具。第四个问题的解决,万维网使用了超文本标记语言HTML(Hypertext Markup Language),这样只要使用了HTML语言编写的WWW文档都可以在因特网上的计算机上显示出来,WWW文档的设计者也可以很方便地用超链接从一个WWW文档连接到因特网上的其它WWW页面上了。 21 九月 2022DELPHI程序设计基础教程11.2 21 九月 2022DELPHI程序设计基础教程11.2 建立Web浏览器统一资源定位符URL
9、 统一资源定位符URL是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL地址,简单地说,URL就是Web地址,俗称“网址”。21 九月 2022DELPHI程序设计基础教程11.2 21 九月 2022DELPHI程序设计基础教程超文本传送协议HTTP HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是应用层的一个协议,用于从WWW服务器传输超文本到本地浏览器。winsock通信机制 根据传输数据类型的不同,常用的Socket类型有两种:流式Socket(STREA
10、M SOCKET)和数据报式Socket(DATAGRAM SOCK)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。21 九月 2022DELPHI程序设计基础教程超文本传送协21 九月 2022DELPHI程序设计基础教程11.2 建立Web浏览器浏览器的设计Delphi具有强大的网络编程功能,在进行设计之前,先介绍一下Delphi提供的用于设计Web浏览器的组件TWebBrowser组件。TWebBrowser组件位于Internet组件页中,使用该组件开发的应用程序可以浏览网页、查看文档、
11、数据下载等功能。 21 九月 2022DELPHI程序设计基础教程11.2 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器 Web程序的基本结构仍然是客户/服务器模型。客户端为Web浏览器,在上一节我们已经介绍过了。服务器端为Web服务器,在这一节里我们将介绍Web服务器的工作原理以及在应用层有哪些应用,dephi给我们提供了哪些组件来实现这些应用。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器Web服务器工作原理当客户需要服务器提供服务时,会通过网络向服务器发出一个连接请求,而此
12、时Web服务器在网络中处于侦听状态,当这个请求通过网络被Web服务器得到以后,Web浏览器与Web服务器建立起连接。Web浏览器再向Web服务器提出服务请求,Web服务器根据请求做出响应,响应的结果再从网络传输给Web浏览器。当通话结束后,Web服务器断开与Web浏览器的连接。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器在上一节已经介绍了Winsock通信机制,并且讲到了根据传输数据类型的不同,常用的Socket类型有两种:一种是面向连接的流式Socket,另一种是无连接的数据报式Socket。 21 九月
13、 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器从图11-13我们可以看出,对于面向连接的通信,服务器端首先创建Socket,然后将其与本地的IP地址和通信端口绑定(Bind),并对绑定的端口进行监听(Listen),一旦服务器监听到客户端的通信请求(Connect)后,返回一个新的套接字与用户连接,而原有的套接字继续放在网络中处于监听状态,以接受其他用户的连接请求。然后读出(Accept)客户端的发送信息,完成相应处理 (Recv/Send)后再写入处理结果。客户端需要通信时,创建本地Socket并完成与服务器端的连接
14、(Connect),即可写入(Send)或读出(Recv)通信数据。但客户端完成通信后关闭套接字(Socket),并通知服务器,然后关闭连接,结束此次通信。 21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器从图11-14中可以看出,采用无连接的套接字进行通信,由于在数据报中已包含对端地址,无连接通信的双方在创建了本地Socket并与IP地址和通信端口绑定(Bind)后,即可接收(Recv)或发送(Send)数据。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基
15、础教程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
16、 system,DNS);、 远程登录用到了远程登录协议(Telnet),都是属于TCP/IP应用层的。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器HTTP协议 在11.2.1节中已经介绍过HTTP协议,在Delphi7的Indy组件集当中,TIdHTTP组件和TIdHTTPServer组件实现超文本传输协议。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3 设计Web服务器Telnet协议 Telnet是一个简单的远程终端协议,使用的是客户
17、/服务器方式。用户在用Telnet可以登录到远端的另外一个主机上。使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的IP地址或域名;必须知道登录标识与口令。Telnet以前应用得很多,现在有由于PC机的功能越来越强,用户已较少使用了。但作为应用层的一个主要协议,Delphi还是对Telnet协议提供了很好的支持。在Delphi中使用TIdTelnet组件和TIdTelnetServer组件实现Telnet。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.3
18、设计Web服务器FTP协议 与大多数Internet服务一样,FTP是一个基于客户/服务器模型的应用层协议。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。 TIdFTP和TIdFTPServer是Indy9中专门支持FTP协议的组件。使用这两个组件既可以开发FTP客户端程序,又可以开发出功能完善的FTP服务器软件。21 九月 2022DELPHI程序设计基础教程11.3 21 九月 2022DELPHI程序设计基础教程11.4 电子邮件系统的开发电子邮件是当前网络
19、当中的一个重要应用。用户在发送电子邮件的时候,电子邮件首先被发送到ISP(Internet Service Provider,互联网服务提供商)的邮件服务器,并被放在收信人邮箱中,收信人上网后,可到ISP的邮件服务器进行读取。从这可以看出,电子邮件系统应包括电子邮件收发程序、邮件服务器以及电子邮件使用的协议。在应用层,SMTP协议是用来解决电子邮件发送的问题的,POP3(Post Office Protocol 3,邮局协议的第3个版本)和IMAP(Internet Message Access Protocol,因特网报文存取协议)是用来解决电子邮件接收的问题的。21 九月 2022DELP
20、HI程序设计基础教程11.4 21 九月 2022DELPHI程序设计基础教程11.4 电子邮件系统的开发TIdSMTP Delphi7提供了一些组件,封装了SMTP协议,用来开发SMTP客户端程序。主要的组件有TIdSMTP、TIdMessage和TIdAttachment。利用这些组件可以快速地开发一个电子邮件的发送软件。TIdPOP3 TIdPOP3组件用于实现POP3协议的客户端部分,从邮件服务器获得E-Mail信息并将其返回到用户计算机上。21 九月 2022DELPHI程序设计基础教程11.4 21 九月 2022DELPHI程序设计基础教程 在本章里主要介绍了网络编程的基础知识,包括网络的基础知识,以及如何使用Delp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸英语函电与单证课件
- 探索地理奥秘
- 拉萨师范高等专科学校《基础护理学基本技能2》2023-2024学年第二学期期末试卷
- 秦皇岛市山海关区2025届六年级下学期小升初招生数学试卷含解析
- 南阳职业学院《临床诊断与基本技能学(1)》2023-2024学年第二学期期末试卷
- 江苏省无锡市长泾片2025届下学期初三物理试题第二次模拟考试试卷含解析
- 通化市柳河县2025届四年级数学第二学期期末综合测试试题含解析
- 克孜勒苏职业技术学院《大学德语Ⅰ》2023-2024学年第一学期期末试卷
- 内蒙古自治区满洲里市2024-2025学年初三第二次调研考试生物试题含解析
- 四川省成都市郫都四中2025年高三下学期六次月考数学试题试卷含解析
- 2025年北京市东城区九年级初三一模英语试卷(含答案)
- 2025-2030全球及中国游戏化行业市场现状供需分析及投资评估规划分析研究报告
- 功夫茶泡茶技巧
- 2025年高中学业水平考试政治知识点归纳总结(复习必背)
- 中央2025年国家民委直属事业单位招聘48人笔试历年参考题库附带答案详解
- 2025年全国国家版图知识竞赛试题题库
- 魔镜洞察-数字解密 药食同源生意下最香的成分与赛道终版
- 十一学校小升初入学测试数学真题及详细解答
- 2025上半年广西现代物流集团社会招聘校园招聘149人笔试参考题库附带答案详解
- 出售东西合同样本
- 2025年4月浙江省嘉兴市嘉善县初中教学质量调研中考一模数学卷(原卷版+解析版)
评论
0/150
提交评论