winsock是windows下网络编程的规范,该规范是windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。
从1991年的1.0版到1995年的2.0.8版,经过不断完善并在intel、microsoft、sun、sgi、informix、novell等公司的全力支持下,已成为windows网络编程的事实上的标准。
规范
以u.c. berkeley大学bsd unix中流行的socket接口为范例定义了一套microsoft windows下网络编程接口。
它不仅包含了人们所熟悉的berkeley socket风格的库函数;也包含了一组针对windows的扩展库函数,以使程序员能充分地利用windows消息驱动机制进行编程。windows sockets规范本意在于提供给应用程序开发者一套简单的api,并让各家网络软件供应商共同遵守。
此外,在一个特定版本windows的基础上,windows sockets也定义了一个二进制接口(abi),以此来保证应用windows sockets api的应用程序能够在任何网络软件供应商的符合windows sockets协议的实现上工作。
因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。遵守这套windows sockets规范的网络软件,我们称之为windows sockets兼容的,而windows sockets兼容实现的提供者,我们称之为windows sockets提供者。一个网络软件供应商必须百分之百地实现windows sockets规范才能做到windows sockets兼容。
任何能够与windows sockets兼容实现协同工作的应用程序就被认为是具有windows sockets接口。
我们称这种应用程序为windows sockets应用程序。windows sockets规范定义并记录了如何使用api与internet协议族(ips,通常我们指的是tcp/ip)连接,尤其要指出的是所有的windows sockets实现都支持流套接口和数据报套接口.应用程序调用windows sockets的api实现相互之间的通讯。
windows sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。
以上就是winsock是什么的详细内容。
