WEB开发网
开发学院软件开发VC VC++网络编程WSAStartup和WSACleanup函数 阅读

VC++网络编程WSAStartup和WSACleanup函数

 2010-05-27 20:37:24 来源:WEB开发网   
核心提示:一、WSAStartup函数int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData);使用Socket的程序在使用Socket之前必须调用WSAStartup函数,该函数的第一个参数指明程序请求使用的Socket版本,VC++网络编程WSAStartup和WS

一、WSAStartup函数

int WSAStartup
(
 WORD wVersionRequested,
 LPWSADATA lpWSAData
);

使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后应用程序就可以调用所请求的Socket库中的其它Socket函数了。该函数执行成功后返回0.例:假如一个程序要使用2.1版本的Socket,那么程序代码如下:

wVersionRequested = MAKEWORD( 2, 1 );
err = WSAStartup( wVersionRequested, &wsaData );

二、WSACleanup函数int WSACleanup (void);应用程序在完成对请求的Socket库的使用后,要调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系统资源。

三 Socket接口的检索有关域名、通信服务和协议等Internet信息的数据库函数,如

gethostbyaddr、gethostbyname、gethostname、getprotolbyname
getprotolbynumber、getserverbyname、getservbyport。

1.gethostname()

「函数原型」

int PASCAL FAR gethostname (char FAR * name, int namelen);

「使用说明」

该函数可以获取本地主机的主机名,其中:

name:<输出>用于指向所获取的主机名的缓冲区的指针。

Namelen:<输入>缓冲区的大小,以字节为单位。

返回值:若无错误,返回0;否则,返回错误代吗。

2.gethostbyname()

「函数原型」

struct hostent FAR * PASCAL FAR gethostbyname(const char FAR * name);

「使用说明」

该函数可以从主机名数据库中得到对应的“主机”。

该函数唯一的参数name就是前面调用函数gethostname()得到的主机名。若无错误,刚返回一个指向hostent结构的批针,它可以标识一个“主机”列表。

Tags:VC 网络编程 WSAStartup

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接