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

正文內(nèi)容

第8章160winsock160api-wenkub.com

2025-05-12 10:42 本頁(yè)面
   

【正文】 (19) ?SO_EXCLUSIVEADDRUSE:該選項(xiàng)可以獲取,也可以設(shè)置。 可能的套接口類(lèi)型包括 SOCK_DGRAM 、SOCK_STREAM和 SOCK_RAW。 (13) ?SO_RCVBUF:該選項(xiàng)可以獲取,也可以設(shè)置。 (10) ?SO_MAX_MSG_SIZE:該選項(xiàng)只能獲取。 第 8章 Winsock API 表 83 SO_DONTLINGER和 SO_LINGER選項(xiàng) 對(duì)套接口關(guān)閉方式的影響 選 項(xiàng) 間隔時(shí)間 套接口關(guān)閉方式 套接口在關(guān)閉前是否等待 S O _ D O N T L IN G E R 不關(guān)心 優(yōu)雅 否 S O _ L IN G E R 0 強(qiáng)制 否 S O _ L IN G E R ≠ 0 優(yōu)雅 是 第 8章 Winsock API (7) ?SO_DONTROUTE:該選項(xiàng)可以獲取,也可以設(shè)置。因?yàn)樘捉涌诘奶撾娐妨⒓幢粡?fù)位 ( 發(fā)送一個(gè) RS T 給對(duì)方 ) ,且丟失了未發(fā)送的所有數(shù)據(jù),此時(shí)在遠(yuǎn)端的 re c v ( ) 調(diào)用將以W S A E CO N N RE S E T 出錯(cuò) =0 — 關(guān)閉 系統(tǒng)執(zhí)行默認(rèn)的操作, l _ l i n g e r 參數(shù)將被忽略, c l o s e s o c k e t ( ) 將立即返回 第 8章 Winsock API (6) ?SO_DONTLINGER:該選項(xiàng)值可以獲取,也可以設(shè)置。 l_linger字段表示延遲時(shí)間 , 以秒為單位 。 該選項(xiàng)要通過(guò) linger結(jié)構(gòu)來(lái)設(shè)置 , 該結(jié)構(gòu)的定義如下: struct linger{ int l_onoff。 但目前尚無(wú)任何一種 Win32平臺(tái)支持的 SO_DEBUG選項(xiàng) 。在應(yīng)用程序設(shè)置了 SO_DEBUG選項(xiàng)的情況下 , 系統(tǒng)將記錄調(diào)試信息 。 它是一個(gè)微軟 Windows操作系統(tǒng)專(zhuān)用選項(xiàng) , 用于返回連接建立的時(shí)間 , 以秒為單位 。39。 …… //設(shè)置廣播選項(xiàng) if(setsocketopt(s,SOL_SOCKET,SO_BROADCAST,(char*)amp。 廣播通信的缺點(diǎn)在于假如同時(shí)有許多進(jìn)程發(fā)送廣播數(shù)據(jù) , 網(wǎng)絡(luò)立刻就會(huì)擁擠不堪 , 造成網(wǎng)絡(luò)性能大大降低 , 甚至有可能陷入癱瘓 。 (2) ?SO_BROADCAST:??該選項(xiàng)可以獲取也可以設(shè)置 。 表 81所示為在 SOL_SOCKET選項(xiàng)級(jí)別下的各種選項(xiàng) 。 對(duì)于布爾型選項(xiàng) , optlen應(yīng)等于 sizeof(int)。 ● ?WSAENOTSOCK:描述字不是一個(gè)套接口 。 ● ?WSAENETRESET:當(dāng) SO_KEEPALIVE設(shè)置后連接超時(shí) 。 ● ?WSAENETDOWN: Windows套接口實(shí)現(xiàn)已檢測(cè)到網(wǎng)絡(luò)子系統(tǒng)失效 。 該參數(shù)是指向 optval緩沖區(qū)長(zhǎng)度 (或套接口選項(xiàng)變量的長(zhǎng)度 )的指針 。 第 8章 Winsock API ● ?optname:傳入?yún)?shù) , 需設(shè)置或獲取的套接口選項(xiàng) , 這些選項(xiàng)的名稱(chēng)均是在 Winsock頭文件內(nèi)定義的常數(shù)值 。 第 8章 Winsock API 2. 函數(shù)參數(shù)說(shuō)明 setsockopt(?)函數(shù)和 getsockopt(?)函數(shù)的參數(shù)是一樣的 , 但 setsockopt(?)函數(shù)的 optval和 optlen選項(xiàng)應(yīng)該由應(yīng)用程序填寫(xiě) , 而 getsockopt(?)函數(shù)的這兩個(gè)選項(xiàng)是返回值 , 由系統(tǒng)來(lái)填寫(xiě) 。 } WSACleanup(?)。 printf(name:%s\nproto:%d\n, pProtoentp_name, pProtoentp_proto)。 //根據(jù)協(xié)議名獲得協(xié)議信息 pProtoent=getprotobyname(tcp)。 n++) { memcpy(amp。 } 第 8章 Winsock API //解析返回的 hostent結(jié)構(gòu)中名稱(chēng) 、 別名 、 地址類(lèi)型和地址長(zhǎng)度信息 printf(以下信息由 gethostbyname(?)函數(shù)取得 \n)。 printf(\n)。 //獲得主機(jī)名 if(gethostname(hostname, sizeof(hostname))!= 0) { printf(gethostname(?) Error: %u\n, WSAGetLastError(?))。 if(WSAStartup(MAKEWORD(2,2),amp。 //存放主機(jī)名稱(chēng) char hostname[256]。 本實(shí)例只使用了三個(gè)比較典型的函數(shù) , 其他函數(shù)的用法與此類(lèi)似 。如果這個(gè)指針為空 , getservbyport(?)返回第一個(gè) port與s_port匹配的服務(wù)條目 。 1. 函數(shù)格式 在 Winsock 1中提供的 getservbyport(?)函數(shù)的格式是: struct servent FAR *getservbyport( int port, const char FAR *proto )。如果這個(gè)指針為空 , getservbyname(?)返回第一個(gè) name與 s_name或者某一個(gè) s_aliases匹配的服務(wù)條目 。 第 8章 Winsock API 1. 函數(shù)格式 在 Winsock 1中提供的 getservbyname(?)函數(shù)的格式是: struct servent FAR *getservbyname( const char FAR* name, const char FAR* proto )。 第 8章 Winsock API 該結(jié)構(gòu)中各成員的含義如下: ● ?s_name:正規(guī)的服務(wù)名 。 char FAR* FAR* s_aliases。 異步擴(kuò)展格式中的其他參數(shù)與WSAAsyncGetHostByName(?)函數(shù)中的參數(shù)含義相同 。 第 8章 Winsock API 根據(jù)協(xié)議號(hào)取得主機(jī)協(xié)議信息 ——getprotobynumber(?)或 WSAAsyncGetProtoByNumber(?) getprotobynumber(?)和 WSAAsyncGetProtoByNumber返回對(duì)應(yīng)于給定協(xié)議號(hào)的相關(guān)協(xié)議信息。 ● ? WSAEINTR :阻塞調(diào)用被WSACancelBlockingCall(?)取消了 。 ● ?WSAENETDOWN: Windows Sockets實(shí)現(xiàn)檢測(cè)到了網(wǎng)絡(luò)子系統(tǒng)的錯(cuò)誤 。 異步擴(kuò)展格式中的 buf是接收 protoent數(shù)據(jù)的緩沖區(qū)指針 ,buflen 為該緩沖區(qū)的大小 。 ● ?p_proto:以主機(jī)字節(jié)順序排列的協(xié)議號(hào) 。 short p_proto。 第 8章 Winsock API 3. 函數(shù)返回信息 這兩個(gè)函數(shù)返回的信息與通過(guò)名稱(chēng)獲取主機(jī)信息的 gethostbyname(?)函數(shù)相同。 ● ?len:傳入?yún)?shù) , 地址的長(zhǎng)度 , 如果是 IPv4類(lèi)型的地址 , 則該值為 4。 第 8章 Winsock API 根據(jù)主機(jī)地址取得主機(jī)信息 —— gethostbyaddr(?)或WSAAsyncGetHostByAddr(?) 這兩個(gè)函數(shù)可以根據(jù)主機(jī)的 IP地址取得主機(jī)名和主機(jī)地址等信息 。 ● ?WSAHOST_NOT_FOUND:未找到授權(quán)應(yīng)答主機(jī) 。 ● ? WSAEINPROGRESS : 一 個(gè) 阻 塞 的 Windows Sockets操作正在進(jìn)行 。 第 8章 Winsock API 若操作成功啟動(dòng) , 則 WSAAsyncGetHostByName(?)返回一個(gè) HANDLE類(lèi)型的非 0值 , 它用來(lái)標(biāo)識(shí)該異步請(qǐng)求任務(wù)的句柄 。 如果應(yīng)用程序認(rèn)為獲取的數(shù)據(jù)不夠 , 它就可以在設(shè)置了足夠容納所需信息的緩沖區(qū) (也就是大于 lParam低 16位提供的數(shù)值 )后 , 重新調(diào)用 WSAAsyncGetHostByName(?)函數(shù) 。 錯(cuò)誤代碼為 0說(shuō)明異步操作成功 , 在成功完成的情況下 , 提供給初始函數(shù)調(diào)用的緩沖區(qū)中包含了一個(gè) hostent結(jié)構(gòu) 。 第 8章 Winsock API 4. 異步擴(kuò)展函數(shù)返回信息 WSAAsyncGetHostByName(?)函數(shù)是 gethostbyname(?)函數(shù)的 Windows 異步擴(kuò)展函數(shù) 。 第 8章 Winsock API ● ?WSANO_RECOVERY:無(wú)法恢復(fù)的錯(cuò)誤 , 如查詢有格式錯(cuò)誤 (FORMERR)、 拒絕服務(wù) (REFUSED)沒(méi)有通信處理機(jī) 、 (NOTIMP)。 如果調(diào)用失敗則返回一個(gè)空指針 , 應(yīng)用程序可以通過(guò) WSAGetLastError(?)來(lái)得到一個(gè)特定的錯(cuò)誤代碼 , 錯(cuò)誤代碼說(shuō)明如下: ● ?WSANOTINTIALISED:在應(yīng)用這個(gè) API前 , 必須成功調(diào)用 WSAStartup(?)。注意該數(shù)據(jù)區(qū)必須大于 hostent結(jié)構(gòu)的大小 , 這是因?yàn)閃indows Sockets實(shí)現(xiàn)不僅要用該數(shù)據(jù)區(qū)容納 hostent結(jié)構(gòu) , 而且 hostent結(jié)構(gòu)的成員引用的所有數(shù)據(jù)也要在該區(qū)域內(nèi) 。 WSAAsyncGetHostByName(?)函數(shù)是一個(gè) Windows異步擴(kuò)展函數(shù) , 它在函數(shù)結(jié)束時(shí) , 利用 Windows消息向應(yīng)用程序發(fā)出通知 , 其各參數(shù)的含義是: ● ?hWnd:傳入?yún)?shù) ,??是一個(gè)窗口句柄 ,??表示當(dāng)異步請(qǐng)求完成時(shí) , 該窗口句柄應(yīng)該收到一條消息 。 第 8章 Winsock API ● ?h_addr:是為了保持向后兼容而定義的字段 ,一般很少使用 。 ● ?h_addr_list:該字段返回一個(gè)主機(jī)的所有 IP地址 , 因?yàn)橐慌_(tái)主機(jī)可以分配若干個(gè) IP地址 (當(dāng)然這主要是對(duì)服務(wù)器而言的 )。 第 8章 Winsock API 該結(jié)構(gòu)中各字段的含義如下: ● ?h_name:該字段是正式的主機(jī)名 。 /* alias list */ short h_addrtype。 第 8章 Winsock API 根據(jù)主機(jī)名取得主機(jī)信息 —— gethostbyname(?)或WSAAsyncGetHostByName(?) gethostbyname(?) 和 WSAAsynGetHostByName(?) 這 兩 個(gè)Winsock API函數(shù)從主機(jī)數(shù)據(jù)庫(kù)中取回與指定的主機(jī)名對(duì)應(yīng)的主機(jī)信息 。 在返回時(shí) ,namelen參數(shù)包含了名字的實(shí)際字節(jié)數(shù) 。 ● ?WSAENOTSOCK:描述字不是一個(gè)套接口 。如果調(diào)用失敗 , 則返回 SOCKET_ERROR錯(cuò)誤信息 , 應(yīng)用程序可通過(guò) WSAGetLastError(?)函數(shù)來(lái)獲取如下的錯(cuò)誤代碼: ● ?WSANOTINITIALISED:在使用此 API之前應(yīng)成功調(diào)用 WSAStartup(?)。 ● ?name:傳出參數(shù) , 指向返回的本地協(xié)議地址的指針 。 它只能用于已經(jīng)建立連接的套接口 。 ● ?WSAEINPROGRESS:一個(gè)阻塞的 Windows套接口調(diào)用正在運(yùn)行中 。如果調(diào)用失敗,則返回 SOCKET_ERROR錯(cuò)誤信息,應(yīng)用程序可通過(guò)調(diào)用 WSAGetLastError(?)函數(shù)來(lái)獲取對(duì)該錯(cuò)誤的進(jìn)一步描述。 第 8章 Winsock API 2. 函數(shù)參數(shù)說(shuō)明 該函數(shù)中各參數(shù)的說(shuō)明如下: ● ?s:傳入?yún)?shù) , 一個(gè)已建立連接的套接口描述字 。 4. 函數(shù)使用說(shuō)明 該函數(shù)把本地主機(jī)名存放入由 name參數(shù)指定的緩沖區(qū)中 。 應(yīng)用程序可以通過(guò) WSAGetLastError(?)來(lái)得到一個(gè)特定的錯(cuò)誤代碼 , 錯(cuò)誤代碼說(shuō)明如下: 第 8章 Winsock API ● ?WSAEFAULT:名字長(zhǎng)度參數(shù)太小 。 第 8章 Winsock API 2. 函數(shù)參數(shù)說(shuō)明 gethostname(?)函數(shù)中各參數(shù)的說(shuō)明如下: ● ?name:傳出參數(shù) , 一個(gè)指向?qū)⒁娣胖鳈C(jī)名的緩沖區(qū)指針 , 當(dāng)函數(shù)調(diào)用完成時(shí) , 主機(jī)名被存入該緩沖區(qū)中 。 如果函數(shù)調(diào)用失敗的話 ,則返回一個(gè)空指針 (NULL)。 該函數(shù)的用法見(jiàn)第 7章中的客戶程序?qū)嵗?這是因?yàn)樵?Intel處理器內(nèi)部 , 字中的字節(jié)是按由低到高的順序存儲(chǔ)的 , 即 “ 小序在前 ” 。 如果傳入的字符串不是一個(gè)合法的 Inter地址
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1