转载 套接字编程中的WSAStartup函数说明 原始套接字编程

原文地址:套接字编程中的WSAStartup函数说明作者:半路出家

int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData);

(1)wVersionRequested参数用于指定准备加载的Winsock库的版本。高位字节指定所需要的Winsock库的副版本,而低位字节则是主版本。可用MAKEWORD(x,y)(其中,x是高位字节,y是低位字节)方便地获得wVersionRequested的正确值。

(2)lpWSAData参数是指向WSADATA结构的指针,WSAStartup用其加载的库版本有关的信息填在这个结构中。

(3)WSADATA结构定义如下:

[转载]套接字编程中的WSAStartup函数说明 原始套接字编程

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;

WSAStartup把第一个字段wVersion设成打算使用的Winsock版本。wHighVersion参数容纳的是现有的Winsock库的最高版本。记住,这两个字段中,高位字节代表的是Winsock副版本,而低位字节代表的则是Winsock主版本。szDescription和szSystemStatus这两个字段由特定的Winsock实施方案设定,事实上没有用。不要使用下面这两个字段:iMaxSockets和iMaxUdpDg,它们是假定同时最多可打开多少套接字和数据报的最大长度。然而,要知道数据报的最大长度应该通过WSAEnumProtocols来查询协议信息。同时最多可打开套接字的数目不是固定的,很大程度上和可用物理内存的多少有关。最后,lpVendorInfo字段是为Winsock实施方案有关的指定厂商信息预留的。任何一个Win32平台上都没有使用这个字段。

如果WinSock.dll或底层网络子系统没有被正确初始化或没有被找到,WSAStartup将返回WSASYSNOTREADY。此外这个函数允许你的应用程序协商使用某种版本的WinSock规范,如果请求的版本等于或高于DLL所支持的最低版本,WSAData的wVersion成员中将包含你的应用程序应该使用的版本,它是DLL所支持的最高版本与请求版本中较小的那个。反之,如果请求的版本低于DLL所支持的最低版本,WSAStartup将返回WSAVERNOTSUPPORTED。关于WSAStartup更详细的信息,请查阅MSDN中的相关部分。

对于每一个WSAStartup的成功调用(成功加载WinSockDLL后),在最后都对应一个WSACleanUp调用,以便释放为该应用程序分配的资源。

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/69743.html

更多阅读

Oracle中的NVL函数 oracle decode函数

Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。下面简单介绍一下几个函数的用法。在介绍

ROW函数的用途 excel中的row函数

ROW函数为返回引用单元格的行号或单元格区域。语法:ROW(reference),举个例子:=row(a15),返回值为15;=row(),返回值为公式所在单元格的行号;还可以引用数组。 =row(a1) 返回a1的行号,=1 =row(1:1) 返回第一行的行号,=1 =row(a:a) 返

JS的trim()方法 js中的trim函数

----------------------------------js去空格---------------------------去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim、ltrim 或rtrim,但在js中却没有这3个内置方法,需要手工编写。下面的实现方法是用到了正则表达式

模拟c++中的strstr函数 c语言中strstr函数

/************************************************************************//* 例子:请写出一个函数来模拟c++中的strstr函数:该函数的返回值是主传中字符子串的位置以后的所有字符,请不要使用任何c程序已有的函数函数名: strstr函

声明:《转载 套接字编程中的WSAStartup函数说明 原始套接字编程》为网友别致的柔弱分享!如侵犯到您的合法权益请联系我们删除