欢迎来到天天文库
浏览记录
ID:46717782
大小:1.48 MB
页数:243页
时间:2019-11-27
《深入WINDOWS socket编程整合版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第一章简介1.1什么是WindowsSockets规范?WindowsSockets规范以U.C.Berkeley大学BSDUNIX中流行的Socket接口为范例定义了一套MicosoftWindows下网络编程接口。它不仅包含了人们所熟悉的BerkeleySocket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。WindowsSockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,WindowsS
2、ockets也定义了一个二进制接口(ABI),以此来保证应用WindowsSocketsAPI的应用程序能够在任何网络软件供应商的符合WindowsSockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。遵守这套WindowsSockets规范的网络软件,我们称之为WindowsSockets兼容的,而WindowsSockets兼容实现的提供者,我们称之为WindowsSockets提供者。一个网络软件供应商必须百分之百地实现WindowsSockets规范才能做到现Windo
3、wsSockets兼容。任何能够与WindowsSockets兼容实现协同工作的应用程序就被认为是具有WindowsSockets接口。我们称这种应用程序为WindowsSockets应用程序。WindowsSockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的WindowsSockets实现都支持流套接口和数据报套接口.应用程序调用WindowsSockets的API实现相互之间的通讯。WindowsSockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工
4、作。它们之间的关系如图1-1。应用程序1应用程序2网络编程界面,例如WindowsSockets网络通讯协议服务界面,例如TCP/IP操作系统,例如Windows物理通讯介质图1-1应用程序与WindowsSockets关系图虽然我们并不反对使用这一套API来实现另一通讯协议栈(而且我们期望在将来规范的修改中能够讨论这个问题),但这种用法已经超出了我们这一份规范所规定的范围,我们在此将不作讨论。1.2Bekeley套接口WindowsSockets规范是建立在Bekeley套接口模型上的。这个模型现在已是TCP/IP网络的标准。它提供了习惯于UNIX
5、套接口编程的程序员极为熟悉的环境,并且简化了移植现有的基于套接口的应用程序源代码的工作。WindowsSocketsAPI也是和4.3BSD的要求一致的。1.3MicrosoftWindows和针对Windows的扩展这一套WindowsSocketsAPI能够在所有3.0以上版本的Windows和所有WindowsScokets实现上使用,所以它不仅为WindwosSockets实现和WindowsSockets应用程序提供了16位操作环境,而且也提供了32位操作环境。WindowsSockets也支持多线程的Windows进程。一个进程包含了一个
6、或多个同时执行的线程。在Windows3.1非多线程版本中,一个任务对应了一个仅具有单个线程的进程。而我们在本书中所提到的线程均是指在多线程Windows环境中的真正意义的线程。在非多线程环境中(例如Windows3.0)这个术语是指WindowsSockets进程.WindowsSockets规范中的针对Windows的扩展部分为应用程序开发者提供了开发具有Windows应用软件的功能。它有利于使程序员写出更加稳定并且更加高效的程序,也有助于在非占先Windows版本中使多个应用程序在多任务情况下更好地运作。除了WSAStartup()和WSACl
7、eanup()两个函数除外,其他的Windows扩展函数的使用不是强制性的。1.4这份规范的地位WindowsSockets是一份独立的规范。它的产生和存在是为了造益于应用程序开发者,网络软件供应商和广大计算机用户。这份规范的每一份正式出版的版本(非草稿)实际上代表了为网络软件供应商实现所需和应用程序开发者所用的一整套API。关于这套规范的讨论和改进还正在进行之中。这样的讨论主要是通过Internet上的一个电子邮件论坛-winsock@microdyne.com进行的。同时也有不定期的会议举行。会议的具体内容会在电子邮件论坛上发表。1.5曾经作过的
8、修改1.5.1WindowsSockets1.0WindowsSockets1.0代表了网络软件供应商和用户
此文档下载收益归作者所有