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

正文內(nèi)容

第8章160winsock160api(存儲(chǔ)版)

  

【正文】 k API 廣播是一種特殊的數(shù)據(jù)發(fā)送方法 , 使本地子網(wǎng)上的所有機(jī)器都能收到相同的數(shù)據(jù) 。setsocketopt(?) Error:u%\n39。 (4) ?SO_DEBUG:該選項(xiàng)值可以獲取 , 也可以設(shè)置 。 它用于控制在 closesocket(?)函數(shù)已執(zhí)行的情況下 ,如何處理套接口數(shù)據(jù)排列上未發(fā)送完畢的數(shù)據(jù) 。請(qǐng)注意,如果套接口設(shè)置為非阻塞模式且 S O _ L IN G E R 設(shè)為非 0 的超時(shí)值,則 c l o s e s o c k e t ( ) 調(diào)用將以W S A E W O U L D BL O CK 錯(cuò)誤返回 ≠ 0 =0 設(shè)置 調(diào)用 c l o s e s o c k e t ( ) 函數(shù)時(shí),套接口的 T CP 連接被立即關(guān)閉,套接口緩沖區(qū)中未發(fā)送的數(shù)據(jù)丟失,因此這種關(guān)閉方式稱為“強(qiáng)制”或“野蠻”關(guān)閉。在 Windows 95及Windows 98操作系統(tǒng)中,這兩個(gè)鍵都位于下述注冊(cè)表路徑中: \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP 第 8章 Winsock API 而在 Windows NT和 Windows 20xx中 , 這兩個(gè)鍵位于下述位置: \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters 服務(wù)器 (例如 FTP服務(wù)器 )一般要設(shè)置該選項(xiàng) , 這樣當(dāng)客戶在非正常終止連接的情況下 , 經(jīng)過(guò)一段時(shí)間后 , 服務(wù)器也能終止該連接 。 (15) ?SO_TYPE:該選項(xiàng)只能獲取 ,??用于返回指定套接口的類型 。該選項(xiàng)的作用是禁止其他進(jìn)程在一個(gè)本。 (14) ?SO_SNDBUF:該選項(xiàng)可以獲取 , 也可以設(shè)置 。 (8) ?SO_ERROR:該選項(xiàng)只能獲取,用于返回以具體套接口為基礎(chǔ)的錯(cuò)誤代碼,在返回后系統(tǒng)一般將該選項(xiàng)設(shè)置為 0。 當(dāng) l_onoff和 l_linger字段取不同的值時(shí) , 系統(tǒng)的操作方式也不同 , 它們的取值情況如表 82所示 。 第 8章 Winsock API (5) ?SO_LINGER:該選項(xiàng)值可以獲取 , 也可以設(shè)置 。 該選項(xiàng)可以在客戶端的 SOCKET句柄上調(diào)用 , 以判斷連接是否已經(jīng)建立 , 以及建立了多長(zhǎng)時(shí)間 。bBroadcast,sizeof (BOOL))==SOCKET_ERROR) { printf(39。如果指定的套接口該選項(xiàng)已經(jīng)設(shè)置為 TRUE, 則允許套接口廣播收發(fā)信息 。 對(duì)于非布爾型的其他選項(xiàng) , optval應(yīng)該指向包含所需選項(xiàng)的整型量或結(jié)構(gòu)量 , 而 optlen則為整形量或結(jié)構(gòu)量的長(zhǎng)度 。 ● ?WSAENOPROTOOPT:未知或不支持選項(xiàng) 。 第 8章 Winsock API 3. 函數(shù)返回信息 若函數(shù)調(diào)用時(shí)無(wú)錯(cuò)誤發(fā)生 , 則 setsockopt(?)函數(shù)和getsockopt(?)函數(shù)都返回 0。 函數(shù)中各參數(shù)的含義如下: ● s:傳入?yún)?shù) , 參數(shù) s指定一個(gè)有效的套接口 ,我們要對(duì)這個(gè)套接口的選項(xiàng)進(jìn)行操作 。 第 8章 Winsock API for (n=0。, pHostenth_addr_list[n],pHostenth_length)。 //根據(jù)主機(jī)名獲取主機(jī)信息 pHostent=gethostbyname(hostname)。wsaData)!=0) { printf(Failed to load Winsock.\n )。 要說(shuō)明的是 , 雖然這只是一個(gè)關(guān)于網(wǎng)絡(luò)信息獲取函數(shù)用法的實(shí)例 , 但該程序也是一個(gè)非常有用的實(shí)用程序 , 它可以獲得一臺(tái)主機(jī)的主機(jī)名 、主機(jī)別名 (如果有的話 )、 主機(jī) IP地址列表等信息 。 第 8章 Winsock API 在 Winsock 1 中 提 供 的 異 步 擴(kuò) 展WSAAsyncGetServByPort(?)函數(shù)的格式是: HANDLE WSAAsyncGetServByPort( HWND hWnd, unsigned int wMsg, int port, const char FAR * proto, char FAR * buf, int buflen )。 在 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 )。 short s_port。 1. 函數(shù)格式 在 Winsock 1中提供的 getprotobynumber(?)函數(shù)的格式是: struct protoent FAR *getprotobynumber( int number )。 ● ?WSANO_RECOVERY:無(wú)法恢復(fù)的錯(cuò)誤 , 如FORMERR、 REFUSED、 NOTIMP等 。 第 8章 Winsock API 1. 函數(shù)格式 在 Winsock 1中提供的 getprotobyname(?)函數(shù)的格式是: struct protoent FAR *getprotobyname( const char FAR * name )。 根據(jù)協(xié)議名取得主機(jī)協(xié)議信息 ——getprotobyname(?)或 WSAAsyncGetProtoByName(?) 函數(shù) getprotobyname()WSAAsyncGetProtoByName()可以根據(jù)協(xié)議名稱返回對(duì)應(yīng)的相關(guān)協(xié)議信息。 1. 函數(shù)格式 在 Winsock 1中提供的 gethostbyaddr(?)函數(shù)的格式是: struct hostent FAR *gethostbyaddr( const char FAR* addr, int len, int type )。 ● ?WSAEWOULDBLOCK:本異步操作此時(shí)由于Windows Sockets實(shí)現(xiàn)的資源或其他限制的制約而無(wú)法調(diào)度 。 錯(cuò) 誤 代 碼 和 緩 沖 區(qū) 大 小 應(yīng) 使 用WSAGETASYNCERROR 和 WSAGETASYNCBUFLEN宏從 lParam中取出 。 所謂 “ 異步 ” , 指的是Windows Sockets的實(shí)現(xiàn)啟動(dòng)該操作后立刻回到調(diào)用方 , 并傳回一個(gè)異步任務(wù)句柄 , 應(yīng)用程序可以用它來(lái)標(biāo)識(shí)該操作 。 ● ?WSAENETDOWN: Windows Sockets實(shí)現(xiàn)檢測(cè)到了網(wǎng)絡(luò)子系統(tǒng)的錯(cuò)誤 。 ● ?wMsg:傳入?yún)?shù) , 當(dāng)異步請(qǐng)求完成時(shí) , 將要接收的消息 。 這個(gè)數(shù)組中的每個(gè)地址都是按網(wǎng)絡(luò)字節(jié)順序返回的 。 /* host address type */ 第 8章 Winsock API short h_length。 若一個(gè)套接口與 INADDR_ANY綁定,即該套接口可以用任意的主機(jī)地址,此時(shí)除非調(diào)用 connect(?)或 accept(?)來(lái)連接,否則 getsockname(?)將不會(huì)返回主機(jī) IP地址的任何信息。 ● ?WSAENETDOWN: Windows套接口實(shí)現(xiàn)檢測(cè)到網(wǎng)絡(luò)子系統(tǒng)失效 。 對(duì)于數(shù)據(jù)報(bào)類型的套接口來(lái)說(shuō) , 它只能返回先前調(diào)用 connect(?)函數(shù)時(shí)使用的對(duì)等端信息 , 在 sendto(?)函數(shù)中使用過(guò)的對(duì)等端信息不能被返回 。可獲得的錯(cuò)誤代碼如下: 第 8章 Winsock API ● ?WSANOTINITIALISED:在使用此 API之前應(yīng)成功調(diào)用 WSAStartup(?)。主機(jī)名的形式取決于 Windows Sockets系統(tǒng)的實(shí)現(xiàn) , 它可能是一個(gè)簡(jiǎn)單的主機(jī)名 , 或者是一個(gè)域名 。 ● ?namelen:傳入?yún)?shù) , 緩沖區(qū)的長(zhǎng)度 。 第 8章 Winsock API 網(wǎng)絡(luò)字節(jié)順序的 IP地址轉(zhuǎn)換為點(diǎn)分十進(jìn)制數(shù)表示的 IP地址 —— i_ntoa(?) 1. 函數(shù)格式 i_ntoa(?)函數(shù)的格式如下: char *i_ntoa( struct in_addr in )。 第 8章 Winsock API 4. 函數(shù)使用說(shuō)明 當(dāng) IP地址用點(diǎn)分十進(jìn)制數(shù)表示時(shí) , 即 4個(gè)字節(jié)的數(shù)以“ .”間隔 , 則用這種格式書寫的 IP地址可有下列 4種表示方式 。 WSANtohs(?)函數(shù)在調(diào)用正確時(shí)返回 0, 函數(shù)返回的16位主機(jī)字節(jié)順序的數(shù)據(jù)是指針參數(shù) lphostshort所指向的數(shù) 。 具體錯(cuò)誤代碼與 WSAHtonl(?)函數(shù)的錯(cuò)誤代碼類似 。 第 8章 Winsock API 4字節(jié)網(wǎng)絡(luò)字節(jié)順序的數(shù)轉(zhuǎn)化為主機(jī)字節(jié)順序 ——ntohl(?)和 WSANtohl(?) 1. 函數(shù)格式 在 Winsock 1中提供的 ntohl(?)函數(shù)的格式是: u_long ntohl( u_long long )。 第 8章 Winsock API 2. 函數(shù)參數(shù)說(shuō)明 這兩個(gè)函數(shù)中各參數(shù)的說(shuō)明如下: ● ?hostshort:傳入?yún)?shù) , 它是一個(gè)以主機(jī)字節(jié)順序表示的將要被轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序的 16位數(shù) (即 2字節(jié)數(shù) ), u_short表示無(wú)符號(hào)短整型數(shù) 。 如果在調(diào)用時(shí)該函數(shù)發(fā)生錯(cuò)誤 , 則返回 SOCKET_ERROR錯(cuò)誤信息 , 可以進(jìn)一步使用 WSAGetLastError(?)函數(shù)取得對(duì)該錯(cuò)誤的具體描述 。第 8章 Winsock API 第 8章 Winsock API 字節(jié)排序函數(shù) IP地址轉(zhuǎn)換函數(shù) 網(wǎng)絡(luò)信息獲取函數(shù) (數(shù)據(jù)庫(kù)函數(shù) ) 套接口選項(xiàng)函數(shù) 套接口 I/O處理函數(shù) 事件對(duì)象 I/O管理 錯(cuò)誤處理函數(shù) Winsock 2支持的其他函數(shù) 習(xí)題 第 8章 Winsock API 4字節(jié)主機(jī)字節(jié)順序的數(shù)轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)順序 ——htonl(?)和 WSAHtonl(?) 1. 函數(shù)格式 在 Winsock 1中提供的 htonl(?)函數(shù)的格式是: u_long htonl( u_long hostlong )。 對(duì)于 WSAHtonl(?)函數(shù)來(lái)說(shuō) , 如果該函數(shù)被調(diào)用時(shí)正確執(zhí)行 , 則這個(gè)函數(shù)的返回值為 0, 函數(shù)返回的 32位網(wǎng)絡(luò)字節(jié)順序的數(shù)據(jù)是指針參數(shù) lplong所指向的數(shù) 。 在 Winsock 2中提供的 WSAHtons(?)函數(shù)的擴(kuò)展格式是: u_short WSAHtons( SOCKET s, u_short hostshort, u_short FAR * lpshort )。 4. 函數(shù)使用說(shuō)明 該函數(shù)一般用來(lái)將一個(gè) 16位的 TCP或 UDP端口號(hào)從主機(jī)字節(jié)順序轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)順序,用法可以參考第 7章的程序?qū)嵗?。如果調(diào)用錯(cuò)誤 , 則返回錯(cuò)誤信息 SOCKET_ERROR, 可以進(jìn)一步使用 WSAGetLastError(?)函數(shù)取得對(duì)該錯(cuò)誤的具體描述 。 第 8章 Winsock API 3. 函數(shù)返回信息 ntohs(?)函數(shù)在調(diào)用成功后 , 返回一個(gè)主機(jī)字節(jié)順序的 16位數(shù) 。 如果傳入的字符串不是一個(gè)合法的 Inter地址 ,如當(dāng) “ ”地址中任一項(xiàng)超過(guò) 255時(shí) , 則 i_addr(?)返回INADDR_NONE提示信息 。 該函數(shù)的用法見第 7章中的客戶程序?qū)嵗?第 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ū)中 。 4. 函數(shù)使用說(shuō)明 該函數(shù)把本地主機(jī)名存放入由 name參數(shù)指定的緩沖區(qū)中 。如果調(diào)用失敗,則返回 SOCKET_ERROR錯(cuò)誤信息,應(yīng)用程序可通過(guò)調(diào)用 WSAGetLastError(?)函數(shù)來(lái)獲取對(duì)該錯(cuò)誤的進(jìn)一步描述。 它只能用于已經(jīng)建立連接的套接口 。如果調(diào)用失敗 , 則返回 SOCKET_ERROR錯(cuò)誤信息 , 應(yīng)用程序可通過(guò) WSAGetLastError(?)函數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1