WinSock 基本知识 这里不打算系统地介绍socket 或者WinSock 的知识
首先介绍WinSock API 函数,讲解阻塞/非阻塞的概念;然后介绍socket 的使用
WinSock API Socket 接口是网络编程(通常是TCP/IP 协议,也可以是其他协议)的API
最早的Socket 接口是Berkeley接口,在Unxi 操作系统中实现
WinSock 也是一个基于Socket 模型的API,在Microsoft Windows 操作系统类中使用
它在Berkeley接口函数的基础之上,还增加了基于消息驱动机制的Windows 扩展函数
Winscok1
1 只支持TCP/IP 网络,WinSock2
0 增加了对更多协议的支持
这里,讨论TCP/IP 网络上的API
Socket 接口包括三类函数: 第一类是WinSock API 包含的Berkeley socket 函数
这类函数分两部分
第一部分是用于网络I/O 的函数,如 accept、Closesocket、connect、recv、recvfrom、Select、Send、Sendto 另一部分是不涉及网络I/O、在本地端完成的函数,如 bind、getpeername、getsockname、getsocketopt、htonl、htons、inet_addr、inet_nton ioctlsocket、listen、ntohl、ntohs、setsocketopt、shutdow、socket 等 第二类是检索有关域名、通信服务和协议等 Internet 信息的数据库函数,如 gethostbyaddr、gethostbyname、gethostname、getprotolbyname getprotolbynumber、getserverbyname、getservbyp