Windows Sockets startup
来源:互联网 发布:网络管理是做什么 编辑:程序博客网 时间:2024/06/05 20:40
/** * main.c * startup Windows Sockets demo * @author : MJN * @date : 2011-10-09 */#include < stdio.h >#include < winsock2.h >#pragma comment(lib, "ws2_32")int main(int argc, char* argv[]){ WSADATA wsaData; /* * socket version: 2.2 * return 0 if startup success */ int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); if (iResult != 0) { printf("WSAStartup failed with error: %d\n", iResult); return -1; } if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { /* Tell the user that we could not find a usable */ /* WinSock DLL. */ WSACleanup( ); return -1; } printf("WSAStartup succeeded.\n"); printf("version:%x\n", wsaData.wVersion); /* output: 202 (means 0x0202) */ printf("high version:%x\n", wsaData.wHighVersion); printf("description:%s\n", wsaData.szDescription); printf("status:%s\n", wsaData.szSystemStatus); WSACleanup(); return 0;}
程序输出:
WSADATA的定义如下:
typedef struct WSAData { WORD wVersion; WORD wHighVersion; char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYS_STATUS_LEN+1]; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char FAR *lpVendorInfo;} WSADATA, *LPWSADATA;WSADATA的成员
wVersion:
Ws2_32.dll期望调用者使用的Windows Sockets规范的版本号. 高字节为次版本号, 低字节为主版本号
wHighVersion:Ws2_32.dll支持的最高版本号.
szDescription:
关于Windows Sockets实现的描述
szSystemStatus:
Windows Sockets的状态.
iMaxSockets, iMaxUdpDg, lpVendorInfo:
Windows Sockets版本2及以后的版本, 这三个成员被忽略.
程序在调用Windows socket 函数之前, 需要先初始化Windows socket动态链接库. 函数WSAStartup的声明如下:
int WSAStartup( __in WORD wVersionRequested, __out LPWSADATA lpWSAData);
参数wVersionRequested是调用者可用的Windows Sockets最高版本号
参考:
1. MSDN
2. NNU姜老师网络编程课件
3. 《TCP/IP协议与网络编程》任泰明 编著 西安电子科技大学出版社
环境:
1. 开发: Microsoft Visual C++
2. 系统: Windows XP Professional
- Windows Sockets startup
- Windows Sockets
- Windows Sockets
- Windows Sockets
- Windows Sockets
- Windows Sockets
- Sockets/Windows Sockets错误码
- Sockets/Windows Sockets错误码
- Sockets/Windows Sockets错误码
- Windows Sockets错误码
- Windows Sockets错误码
- Windows Sockets错误码
- Windows Sockets Error Codes
- Windows Sockets Error Codes
- Windows Sockets错误码
- Windows Sockets:阻塞
- Windows Sockets:转换字符串
- Windows Sockets:字节排序
- ZOJ 1091 Knight Moves
- 微软MVP最有价值专家-Exchange Server!
- POJ 2983 SPFA 差分约束
- 欢迎光临我的博客!
- slab内存管理学习笔记
- Windows Sockets startup
- 编程技术面试的五大要点
- JavaScript数组随机排序函数
- android从assets和res文件夹中读取资源
- 堆和栈
- Building OpenCV for iPhone
- SQL学习(1)始
- 编程技术面试的五大要点
- 数据库字段拆分成多条数据记录