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