第11章 网络编程技术.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:10 大小:1.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第11章 网络编程技术.ppt

第11章网络编程技术.ppt

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Delphi程序设计教程第11章网络编程技术第11章网络编程技术当今社会,网络的应用已经无处不在,随着计算机网络化的深入,计算机网络编程技术变得日益重要。Delphi提供了强大的网络编程的开发手段,在本章中将着重讨论Delphi7的网络编程技术。11.1WindowsSockets简介11.1.1WindowsSockets规范WindowsSockets规范以U.C.Berkeley大学BSDUNIX中流行的Socket接口为范例定义了一套MicosoftWindows下网络编程接口。11.1.2Bekeley套接口WindowsSockets规范是建立在Bekeley套接口模型上的。这个模型现在已是TCP/IP网络的标准。它提供了习惯于UNIX套接口编程的程序员极为熟悉的环境,并且简化了移植现有的基于套接口的应用程序源代码的工作。WindowsSocketsAPI也是和4.3BSD的要求一致的。11.1.3MicrosoftWindows和针对Windows的扩展这一套WindowsSocketsAPI能够在所有3.0以上版本的Windows和所有WindowsScokets实现上使用,所以它不仅为WindwosSockets实现和WindowsSockets应用程序提供了16位操作环境,而且也提供了32位操作环境。11.1.4规范的地位11.1.5曾经作过的修改1.WindowsSockets1.02.WindowsSockets1.1WindowsSockets1.1继承了WindowsSockets1.0的准则和结构,并且仅在一些绝对必要的地方作了改动,WindowsScokets1.1包含了一些更加清晰的说明和对WindowsSockets1.0的小改动。此外1.1还包含了如下重大的变更:(1)加入了gethostname()这个常规调用,以便更加简单地得到主机名字和地址。(2)定义DLL中小于1000的序数为WindowsSockets保留,而对大于1000的序数则没有限制。这使WindowsSockets供应商可以在DLL中加入自己的界面,而不用担心所选择的序数会和WindowsScokets将来的版本冲突。(3)增加了WSAStartup()函数和WASClearup()函数之间的关联,要求两个函数互相对应。这使得应用程序开发者和第三方DLL在使用WindowsSockets实现时不需要考虑其他程序对这套API的调用。(4)把函数intr_addr()的返回类型,从结构in_addr改为了无符号长整型。这个改变是为了适应MicrosoftC编译器和BorlandC编译器对返回类型为四字节结构的函数的不同处理方法。(5)把WSAAsyncSelect()函数语义从“边缘触发”改为“电平触发”。这种方式大大地简化了一个应用程序对这个函数的调用。(6)改变了ioctlsocket()函数中FIONBIO的语义。如果套接口还有未完成的WSAAsyncSelect()调用,该函数将失败返回。(7)为了符合RFC1122,在套接口选项中加入了TCP_NODELAY这一条。11.2网络组件11.2.1ClientSocket和ServerSocketClientSocket组件和ServerSocket组件是用Windows下Socket编程的VCL组件,它们是学习网络编程的第一步。下面介绍一下利用这两个组件进行网络编程,在Delphi7中编写网络程序的步骤一般可以分为以下三步:(1)组件属性设置(2)建立与远程计算机的连接(3)计算机之间的数据传输客户端用如下形式:ClientSocket1.Socket.SendText(‘stringyouwanttosend’);在服务器端采用如下形式:ServerSocket1.Socket.ReceiveText(str:string);这个函数返回接收到的字符串的长度,将字符串存储在变量str中11.2.2TCPClient和TCPServer传输控制协议TCP客户端组件TCPClient与服务器端组件TCPServer是由Borland公司提供的VCL组件。11.3网络编程举例在前面介绍了关于网络编程和网络组件的一些基础知识之后,下面就通过一个示例来理解一下如何进行网络编程的,该示例实现了上传文件的功能。示例的创建步骤如下。第一步:创建一个新的应用程序,在窗体上添加2个GroupBox组件、1个ServerSocket组件、1个ClientSocket组件、4个Button组件、1个Label组件、1个Edit组件以及1个Memo组件。具体如下图11-1所示。第二步:设置窗体中组件的属性第三步:完成