第11章 网络编程技术.ppt
文本预览下载声明
Delphi程序设计教程 * 2005年 8月 杨长春 主编 清华大学出版社 同名教材配套电子教案 第11章 网络编程技术 11.1 Windows Sockets简介 11.1.1 Windows Sockets规范 11.1.2 Bekeley套接口 11.1.3 Microsoft Windows和针对Windows的扩展 11.1.4 规范的地位 11.1.5 曾经作过的修改 11.2 网络组件 11.2.1 ClientSocket和ServerSocket 11.2.2 TCPClient和TCPServer 11.3 网络编程举例 本章小结 习题11 第11章 网络编程技术 当今社会,网络的应用已经无处不在,随着计算机网络化的深入,计算机网络编程技术变得日益重要。Delphi提供了强大的网络编程的开发手段,在本章中将着重讨论Delphi 7的网络编程技术。 11.1 Windows Sockets简介 11.1.1 Windows Sockets规范 Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。 11.1.2 Bekeley套接口 Windows Sockets规范是建立在Bekeley套接口模型上的。这个模型现在已是TCP/IP网络的标准。它提供了习惯于UNIX套接口编程的程序员极为熟悉的环境,并且简化了移植现有的基于套接口的应用程序源代码的工作。Windows Sockets API也是和4.3BSD的要求一致的。 11.1.3 Microsoft Windows和针对Windows的扩展 这一套Windows Sockets API能够在所有3.0以上版本的Windows和所有Windows Scokets实现上使用,所以它不仅为Windwos Sockets实现和Windows Sockets应用程序提供了16位操作环境,而且也提供了32位操作环境。 11.1.4规范的地位 11.1.5曾经作过的修改 1.Windows Sockets 1.0 2.Windows Sockets 1.1 Windows Sockets 1.1继承了Windows Sockets 1.0的准则和结构,并且仅在一些绝对必要的地方作了改动,Windows Scokets 1.1包含了一些更加清晰的说明和对Windows Sockets 1.0的小改动。此外1.1还包含了如下重大的变更: (1)加入了gethostname()这个常规调用,以便更加简单地得到主机名字和地址。 (2)定义DLL中小于1000的序数为Windows Sockets保留,而对大于1000的序数则没有限制。这使Windows Sockets供应商可以在DLL中加入自己的界面,而不用担心所选择的序数会和Windows Scokets将来的版本冲突。 (3)增加了WSAStartup()函数和WASClearup()函数之间的关联,要求两个函数互相对应。这使得应用程序开发者和第三方DLL在使用Windows Sockets实现时不需要考虑其他程序对这套API的调用。 (4)把函数intr_addr()的返回类型,从结构in_addr改为了无符号长整型。这个改变是为了适应Microsoft C编译器和Borland C编译器对返回类型为四字节结构的函数的不同处理方法。 (5)把WSAAsyncSelect()函数语义从“边缘触发”改为“电平触发”。这种方式大大地简化了一个应用程序对这个函数的调用。 (6)改变了ioctlsocket()函数中FIONBIO的语义。如果套接口还有未完成的WSAAsyncSelect()调用,该函数将失败返回。 (7)为了符合RFC 1122,在套接口选项中加入了TCP_NODELAY这一条。 11.2 网络组件 11.2.1 ClientSocket和ServerSocket ClientSocket组件和ServerSocket组件是用Windows下Socket编程的VCL组件,它们是学习网络编程的第一步。 下面介绍一下利用这两个组件进行网络编程,在Delphi 7中编写网络程序的步骤一般可以分为以下三步: (1)组件属性设置 (2)建立与远程计算机的连接 (3)计算机之间的数据传输 客户端用如下形式:ClientSocke
显示全部