一、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結構的批針,它可以標識一個“主機”列表。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/firefly_liu/archive/2009/02/16/3895458.aspx