freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第8章160winsock160api(編輯修改稿)

2025-07-01 10:42 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 了 。 在這種情況下 , lParam的低 16位提供所有信息所需的緩沖區(qū)大小 。 如果應(yīng)用程序認(rèn)為獲取的數(shù)據(jù)不夠 , 它就可以在設(shè)置了足夠容納所需信息的緩沖區(qū) (也就是大于 lParam低 16位提供的數(shù)值 )后 , 重新調(diào)用 WSAAsyncGetHostByName(?)函數(shù) 。 錯(cuò) 誤 代 碼 和 緩 沖 區(qū) 大 小 應(yīng) 使 用WSAGETASYNCERROR 和 WSAGETASYNCBUFLEN宏從 lParam中取出 。 這兩個(gè)宏的定義如下: 第 8章 Winsock API define WSAGETASYNCERROR(lParam) HIWORD(lParam) define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam) 使用這些宏可以最大限度地提高應(yīng)用程序源代碼的可移植性 。 函數(shù)的返回值指出異步操作是否成功啟動(dòng) , 注意它并不隱含操作本身的成功或失敗 (后面要介紹的其他異步函數(shù)的返回值也與它類似 )。 第 8章 Winsock API 若操作成功啟動(dòng) , 則 WSAAsyncGetHostByName(?)返回一個(gè) HANDLE類型的非 0值 , 它用來標(biāo)識(shí)該異步請(qǐng)求任務(wù)的句柄 。 通過該句柄使用 WSACancelAsyncRequest(?)函數(shù)可取消該操作 , 也可通過檢查 wParam消息參數(shù) , 以匹配異步操作和完成消息 。 如果異步操作不能啟動(dòng) ,WSAAsyncGetHostByName(?)返回一個(gè) 0值 , 并且可使用WSAGetLastError(?)函數(shù)來獲取如下的錯(cuò)誤代碼: ● WSANOTINITIALISED:在使用本 API前必須進(jìn)行一次成功的 WSAStartup(?)調(diào)用 。 第 8章 Winsock API ● ?WSAENETDOWN: Windows Sockets實(shí)現(xiàn)已檢測(cè)到網(wǎng)絡(luò)子系統(tǒng)故障 。 ● ? WSAEINPROGRESS : 一 個(gè) 阻 塞 的 Windows Sockets操作正在進(jìn)行 。 ● ?WSAEWOULDBLOCK:本異步操作此時(shí)由于Windows Sockets實(shí)現(xiàn)的資源或其他限制的制約而無法調(diào)度 。 在應(yīng)用程序的窗口收到消息時(shí)可能會(huì)設(shè)置下列錯(cuò)誤代碼 ,它們可以通過 WSAGETASYNCERROR宏從應(yīng)答的消息lParam中取出: ● ?WSAENETDOWN: Windows Sockets實(shí)現(xiàn)已檢測(cè)到網(wǎng)絡(luò)子系統(tǒng)故障 。 第 8章 Winsock API ● ?WSAENOBUFS:可用的緩沖區(qū)空間不足或沒有 。 ● ?WSAHOST_NOT_FOUND:未找到授權(quán)應(yīng)答主機(jī) 。 ● ?WSATRY_AGAIN:未找到非授權(quán)應(yīng)答主機(jī) ,或 SERVERFAIL。 ● ?WSANO_RECOVERY:不可恢復(fù)性錯(cuò)誤 。 ● ?WSANO_DATA:無請(qǐng)求類型的數(shù)據(jù)記錄 。 第 8章 Winsock API 根據(jù)主機(jī)地址取得主機(jī)信息 —— gethostbyaddr(?)或WSAAsyncGetHostByAddr(?) 這兩個(gè)函數(shù)可以根據(jù)主機(jī)的 IP地址取得主機(jī)名和主機(jī)地址等信息 。 1. 函數(shù)格式 在 Winsock 1中提供的 gethostbyaddr(?)函數(shù)的格式是: struct hostent FAR *gethostbyaddr( const char FAR* addr, int len, int type )。 第 8章 Winsock API 在 Winsock 1中提供的異步擴(kuò)展WSAAsyncGetHostByAddr(?)函數(shù)的格式是: HANDLE WSAAsyncGetHostByAddr( HWND hWnd, unsigned int wMsg, const char FAR* addr, int len, int type, char FAR* buf, int buflen )。 第 8章 Winsock API 2. 函數(shù)參數(shù)說明 gethostbyaddr(?)函數(shù)的參數(shù)說明如下: ● ?addr:傳入?yún)?shù) , 指向網(wǎng)絡(luò)字節(jié)順序地址的指針 。 ● ?len:傳入?yún)?shù) , 地址的長(zhǎng)度 , 如果是 IPv4類型的地址 , 則該值為 4。 ● ?type:傳入?yún)?shù) , 地址類型 , 如為 AF_INET。 WSAAsyncGetHostByAddr(?)函數(shù)是 gethostbyaddr(?)函數(shù)的異步版本 。 它的其他參數(shù)以及返回信息與WSAAsyncGetHostByName(?)函數(shù)完全相同 。 第 8章 Winsock API 3. 函數(shù)返回信息 這兩個(gè)函數(shù)返回的信息與通過名稱獲取主機(jī)信息的 gethostbyname(?)函數(shù)相同。 根據(jù)協(xié)議名取得主機(jī)協(xié)議信息 ——getprotobyname(?)或 WSAAsyncGetProtoByName(?) 函數(shù) getprotobyname()WSAAsyncGetProtoByName()可以根據(jù)協(xié)議名稱返回對(duì)應(yīng)的相關(guān)協(xié)議信息。它們都要使用到一個(gè)與協(xié)議有關(guān)的結(jié)構(gòu),該結(jié)構(gòu)的定義如下: 第 8章 Winsock API struct protoent{ char FAR* p_name。 char FAR* FAR * p_aliases。 short p_proto。 }。 該結(jié)構(gòu)的成員有: ● ?p_name:正式的協(xié)議名 。 ● ?p_aliases:它是二維字符指針 , 返回一個(gè)協(xié)議的所有別名 。 ● ?p_proto:以主機(jī)字節(jié)順序排列的協(xié)議號(hào) 。 第 8章 Winsock API 1. 函數(shù)格式 在 Winsock 1中提供的 getprotobyname(?)函數(shù)的格式是: struct protoent FAR *getprotobyname( const char FAR * name )。 在 Winsock 1中提供的異步擴(kuò)展WSAAsyncGetProtoByName(?)函數(shù)的格式是: HANDLE WSAAsyncGetProtoByName( HWND hWnd, unsigned int wMsg, const char FAR * name, char FAR * buf, int buflen )。 第 8章 Winsock API 2. 函數(shù)參數(shù)說明 getprotobyname(?)函數(shù)中的參數(shù) name為傳入?yún)?shù) , 指向協(xié)議名的指針 。 異步擴(kuò)展格式中的 buf是接收 protoent數(shù)據(jù)的緩沖區(qū)指針 ,buflen 為該緩沖區(qū)的大小 。 其 他 參 數(shù) 與WSAAsyncGetHostByName(?)函數(shù)中的參數(shù)相同 , 返回信息的含義也一樣 。 3. 函數(shù)返回信息 如果沒有錯(cuò)誤發(fā)生 , getprotobyname(?)返回如上所述的一個(gè)指向 protoent結(jié)構(gòu)的指針 , 如果調(diào)用失敗 , 則返回一個(gè)空指針 。 應(yīng)用程序可以通過 WSAGetLastError(?)來得到一個(gè)如下所示的特定錯(cuò)誤代碼: 第 8章 Winsock API ● ?WSANOTINTIALISED:在應(yīng)用這個(gè) API前 ,必須成功調(diào)用 WSAStartup(?)。 ● ?WSAENETDOWN: Windows Sockets實(shí)現(xiàn)檢測(cè)到了網(wǎng)絡(luò)子系統(tǒng)的錯(cuò)誤 。 ● ?WSANO_RECOVERY:無法恢復(fù)的錯(cuò)誤 , 如FORMERR、 REFUSED、 NOTIMP等 。 ● ?WSANO_DATA:有效的名字 , 但沒有關(guān)于請(qǐng)求類型的數(shù)據(jù)記錄 。 第 8章 Winsock API ● ?WSAEINPROGRESS:一個(gè)阻塞的 Windows Sockets操作正在進(jìn)行 。 ● ? WSAEINTR :阻塞調(diào)用被WSACancelBlockingCall(?)取消了 。 ● ?WSAHOST_NOT_FOUND:沒有找到協(xié)議 。 ● ?WSATRY_AGAIN:非正式的協(xié)議沒有找到或服務(wù)器失敗 。 ● ?WSAEFAULT: name參數(shù)不在有效的用戶地址空間 。 第 8章 Winsock API 根據(jù)協(xié)議號(hào)取得主機(jī)協(xié)議信息 ——getprotobynumber(?)或 WSAAsyncGetProtoByNumber(?) getprotobynumber(?)和 WSAAsyncGetProtoByNumber返回對(duì)應(yīng)于給定協(xié)議號(hào)的相關(guān)協(xié)議信息。 1. 函數(shù)格式 在 Winsock 1中提供的 getprotobynumber(?)函數(shù)的格式是: struct protoent FAR *getprotobynumber( int number )。 第 8章 Winsock API 在 Winsock 1中提供的異步擴(kuò)展WSAAsyncGetProtoByNumber(?)函數(shù)的格式是: HANDLE WSAAsyncGetProtoByNumber( HWND hWnd, unsigned int wMsg, int number, char FAR * buf, int buflen )。 第 8章 Winsock API 2. 函數(shù)參數(shù)說明 參數(shù) number表示傳入?yún)?shù) , 是一個(gè)以主機(jī)字節(jié)順序排列的協(xié)議號(hào) 。 異步擴(kuò)展格式中的其他參數(shù)與WSAAsyncGetHostByName(?)函數(shù)中的參數(shù)含義相同 。 3. 函數(shù)返回信息 函數(shù)的返回信息與通過協(xié)議名獲取主機(jī)協(xié)議信息時(shí)的情況相同 。 第 8章 Winsock API 根據(jù)服務(wù)名取得相關(guān)服務(wù)信息 —— ?getservbyname(?)或 WSAAsyncGetServByName(?) getservbyrvame(?)和 WSAAsyncGetServByName(?)函數(shù)用于返回對(duì)應(yīng)于給定服務(wù)名和協(xié)議名的相關(guān)服務(wù)信息 。 這兩個(gè)函數(shù)都要用到一個(gè)如下所示的結(jié)構(gòu): struct servent{ char FAR* s_name。 char FAR* FAR* s_aliases。 short s_port。 char FAR * s_proto。 }。 第 8章 Winsock API 該結(jié)構(gòu)中各成員的含義如下: ● ?s_name:正規(guī)的服務(wù)名 。 ● ?s_aliases:所有其他的可選服務(wù)名 。 ● ?s_port:連接該服務(wù)時(shí)需要用到的端口號(hào) , 返回的端口號(hào)是以網(wǎng)絡(luò)字節(jié)順序排列的 。 ● ?s_proto:連接該服務(wù)時(shí)用到的協(xié)議名 。 第 8章 Winsock API 1. 函數(shù)格式 在 Winsock 1中提供的 getservbyname(?)函數(shù)的格式是: struct servent FAR *getservbyname( const char FAR* name, const char FAR* proto )。 在 Winsock 1 中 提 供 的 異 步 擴(kuò) 展WSAAsyncGetServByName(?)函數(shù)的格式是: 第 8章 Winsock API HANDLE WSAAsyncGetServByName( HWND hWnd, unsigned int wMsg, const char FAR* name, const char FAR* proto, char FAR * buf, int buflen )。 第 8章 Winsock API 2. 函數(shù)參數(shù)說明 這兩個(gè)函數(shù)中各參數(shù)的說明如下: ● ?name:傳入?yún)?shù) , 一個(gè)指向服務(wù)名的指針 。 ● proto:傳入?yún)?shù) , 指向協(xié)議名的指針 (可選 )。如果這個(gè)指針為空 , getservbyname(?)返回第一個(gè) name與 s_name或者某一個(gè) s_aliases匹配的服務(wù)條目 。 否則 ,getservbyname(?)對(duì) name和 proto都進(jìn)行匹配 。 其他參數(shù)與 WSAAsyncGetHostByName(?)函數(shù)中的參數(shù)含義相同。 第 8章 Winsock API 根據(jù)端口號(hào)取
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1