Winsock是Windows下网络编程的规范,该规范是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。
在MFC中MS为套接口,提供了相应的类CAsyncSocket和CSocket,CAsyncSocket提供基于异步通信的套接口封装功能,CSocket则是由CAsyncSocket派生,CSocket提供的通信为同步通信,数据未接收到或是未发送完之前调用不会返回。此外通过MFC类开发者可以不考虑网络字节顺序和忽略掉更多的通信细节。
同步:发送方不等接收方响应,便接着发送下一个数据包的通信方式
异步:发送方发出数据,等收到接收方发回的响应后,才发送下一个数据包的通信方式
阻塞:执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上
非阻塞:执行此套接字的网络调用时,不管是否执行成功,都立即返回。
使用Winsock进行网络编程需要包含头文件Winsock2.h,需要使用库ws2_32.lib,包含方法:可以使用语句来告诉编译器连接该库
#pragma comment(lib, “ws2_32.lib”);
如果使用VS,可以通过“项目” --> “XX属性”–> “连接器”–>“输入”–> “附加依赖项”添加ws2_32.lib。 (XX为当前工程名)