网络头文件
#include <WinSock2.h>
其中,Win 指 windows,Sock 指 socket 网络编程,2 指第二版的网络库
网络函数库
#pragma comment(lib, "ws2_32.lib")
其中 ws2_32.lib 指 windows socket 第二版 32 位
WSAStartup 函数
语法
int WSAStartup(
WORD wVersionRequired,
LPWSADATA lpWSAData
);
参数一:调用方可以使用的最高版本的 Windows 套接字规范。 高字节序指定副版本号,低顺序字节指定主版本号。
参数二:指向 WSADATA 数据结构的指针,该结构用于接收 Windows 套接字实现的详细信息。
返回值
如果成功, WSAStartup 函数将返回零。 否则,它将返回下面列出的错误代码之一。
错误代码 | 含义 |
---|---|
基础网络子系统尚未准备好进行网络通信。 | |
此特定 Windows 套接字实现不提供请求的 Windows 套接字支持版本。 | |
正在执行阻止 Windows 套接字 1.1 操作。 | |
已达到 Windows 套接字实现支持的任务数的限制。 | |
lpWSAData 参数不是有效的指针。 |
备注
1. WSAStartup 函数必须是应用程序或 DLL 调用的第一个 Windows 套接字函数。 它允许应用程序或 DLL 指定所需的 Windows 套接字版本,并检索特定 Windows 套接字实现的详细信息。 应用程序或 DLL 只能在成功调用 WSAStartup 后发出进一步的 Windows 套接字函数。
2. 如果 WSASDATA 结构的 wVersion 成员对调用方不可接受的,则应用程序或 DLL 应调用 来释放 Winsock DLL 资源,并且无法初始化 Winsock 应用程序。 为了支持此应用程序或 DLL,必须搜索要安装在平台上的 Winsock DLL 的更新版本。
MAKEWORD函数
语法
WORD MAKEWORD(
BYTE bLow,
BYTE bHigh
);
参数一:新值的低位字节(存储时在后,对应主版本号)。
参数二:新值的高位字节(存储时在前,对应副版本号)。
返回值
返回值是一个 WORD 值。