程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> VC++網絡編程WSAStartup和WSACleanup函數

VC++網絡編程WSAStartup和WSACleanup函數

編輯:關於VC++

一、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結構的批針,它可以標識一個“主機”列表。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved