Windows Socket介绍

本文介绍了Windows Sockets(Winsock)的基本概念,它作为Windows平台的网络编程接口,遵循Berkeley套接字模型。文章详细阐述了Winsock的编程过程,包括服务器如何监听和接受连接,客户端如何发起连接。接着讨论了Winsock的六种套接字I/O模型,如阻塞、非阻塞、select、WSAAsyncSelect、WSAEventSelect和重叠模型,强调了每种模型的适用场景和优缺点。
摘要由CSDN通过智能技术生成

在windows平台上,创建网络应用程序通常会借助于Windows Sockets ,Sockets译为套接字,一个套接字是通信的一端,客户与服务器之间即可通过套接字彼此通信。Windows Sockets是Windows下网络编程的规范,简称Winsock,虽然不同的应用服务和所使用的应用协议均有所不同,但所有的网络程序都能简化为一个简单的Winsock网络编程模型。

要想使用Winsock创建网络应用程序,需要遵守一定的编程约定,下面将对Winsock技术进行简要说明。

1.Winsock介绍

Windows Sockets是一套开放的、支持多种协议的Windows下的网络编程接口。1991年发布了1.0版,在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Windows网络编程事实上的标准。

Windows Sockets规范建立在Bekeley套接口模型上,是以U.C. Berkeley 大学UNIX中流行的Socket接口为范例而设定的一套Windows网络编程接口。这个规范针对Windows的增加了扩展库函数,这样一来程序员使用Winsock在windows上编程时,能充分利用其消息驱动机制。

Winsock主要有两个版本,即Winsock 1和Winsock 2,现在使用较多的是第二版,同第一版相比,第二版增加了很多功能。要使用winsock2编写应用程序,需要添加winsock2.h头文件,同时还要链接到WS2_32.lib库,如果使用MFC,这一切已经被自动设定,就无需再手动添加。

Winsock工作的层次位于应用程序与底层通信协议之间,应用程序可调用Winsock的API实现相互之间的通讯,而实际的通信工作由Winsock利用下层的网络通讯协议功能和操作系统调用完成。

2.WinSock编程过程

对于网络上任意两个应用程序来说,彼此之间开始工作的绝对时间是难以确定的。而且由于网络本身的特性(流量负载变化等因素的影响),使得数据包到达对方的时间是不可预计的。鉴于上述原因,在设计每一对网络应用程序时,都应让它们按顺序执行互补的网络操作,而不是同时执行。对于客户端/服务器模式的应用来说,服务器端的程序首先启动,然后等待连接信息,客户端程序后启动,并发起连接,连接创建之后,二者之间就可以通信了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值