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

正文內容

指南]收集編程有效教程第二版_第3章(編輯修改稿)

2025-02-14 18:50 本頁面
 

【文章內容簡介】 址 BIND() int bind( SOCKET s, const struct sockaddr * name, int namelen)。 相關的三種 Winsock地址結構 有許多函數(shù)都需要套接字的地址信息,像 UNIX 套接字一樣,Winsock也定義了三種關于地址的結構,經常使用。 ①通用的 Winsock地址結構,針對各種通信域的套接字,存儲它們的地址信息。 struct sockaddr { u_short sa_family。 /* 地址家族 char sa_data[14]。 /* 協(xié)議地址 } 屏卉僑礫焚斡啄御攣樁械銑名尸猶揍飄餡腫得柑隴愈撐噪枷竊堵譬盾位變網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 ② 專門針對 Inter 通信域的 Winsock地址結構 struct sockaddr_in { short. sin_family。 /* 指定地址家族,一定是 AF_INET. u_short sin_port。 /* 指定將要分配給套接字的傳輸層端口號 , struct in_addr sin_addr。 /* 指定套接字的主機的 IP 地址 char sin_zero[8]。 /* 全置為 0,是一個填充數(shù)。 } 趣嘴群尊拒章捂家踴釜滴耽灼彬料腮梨鯉椎無猩爹褥窮憲吞躇黔欲頁公買網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 ③ 專用于存儲 IP地址的結構 Struct in_addr { Union { Struct {u_char s_b1,s_b2,s_b3,s_b4。} S_un_b。 Struct {u_short s_w1,s_w2。} S_un_w。 U_long S_addr。 } } 在使用 Inter域的套接字時,這三個數(shù)據(jù)結構的一般用法是: 首先,定義一個 Sockaddr_in的結構實例變量,并將它清零。 然后,為這個結構的各成員變量賦值, 第三步,在調用 BIND()綁定函數(shù)時,將指向這個結構的指針強制轉換為 sockaddr*類型。 剝眨紀呸惱匯敬勘訓疇委彝都癥咀楞趾哲抑木暢盅鼠廂輕盡邊打堤遙撓基網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 舉例: SOCKET serSock。 // 定義了一個 SOCKET 類型的變量。 sockaddr_in my_addr。 // 定義一個 Sockaddr_in型的結構實例變量。 int err。 // 出錯碼。 int slen=sizeof( sockaddr)。 // sockaddr 結構的長度。 serSock = SOCKET(AF_INET, SOCK_DGRAM,0 )。 // 創(chuàng)建數(shù)據(jù)報套接字。 memset(my_addr, 0)。 // 將 Sockaddr_in的結構實例變量清零。 = AF_INET。 // 指定通信域是 Inter。 = htons(21)。 // 指定端口,將端口號轉換為網(wǎng)絡字節(jié)順序。 底桐葷己涕踢防謝墓拎蓋式鼎那宋顯息咯滇李咯脊炙孰首母躥啼允沾乎貧網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 /* 指定 IP地址,將 IP地址轉換為網(wǎng)絡字節(jié)順序。 = htonl( INADDRANY)。 /* 將套接字綁定到指定的網(wǎng)絡地址,對 amp。my_addr進行了強制類型轉換。 if (BIND(serSock, (LPSOCKADDR )amp。my_addr, slen) == SOCKET_ERROR ) { /* 調用 WSAGetLastError()函數(shù),獲取最近一個操作的錯誤代碼。 err = WSAGetLastError()。 /* 以下可以報錯,進行錯誤處理。 } 莊也咒額億滑慈解褲瞳鐘簾賄豐緯仆抹渾俏樣菱肯假任捶性端菏提蛹盤廁網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 3.啟動服務器監(jiān)聽客戶端的連接請求 LISTEN() int listen( SOCKET s, int backlog)。 4.接收連接請求 ACCEPT() SOCKET accept( SOCKET s, struct sockaddr* addr, int* addrlen)。 5.請求連接 CONNECT() int connect( SOCKET s, struct sockaddr * name, int namelen)。 鱉扦翟傣異撕蝶裔測茄浚姬敘初竊利如孿爸駒釣事錫昏寫癸藝骸囊訃麓伎網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 舉例 struct sockaddr_in daddr。 memset((void *)amp。daddr,0,sizeof(daddr))。 =AF_INET。 =htons(8888)。 =i_addr()。 connect(ClientSocket,(struct sockaddr *)amp。daddr,sizeof(daddr))。 夸勢拿送餞客鈞鹼趴撐賈腸盟滋睛櫥攘芝減核盆蔑縫視改童調邦少馭砍椿網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 6.向一個已連接的套接口發(fā)送數(shù)據(jù) SEND() int send( SOCKET s, char * buf, int len, int flags)。 圖 同步套接字的 Send()函數(shù)的執(zhí)行流程 痔搖骯妮槽矣補余鮮狐鑒廂江厘撞部紗魚蟄批要承參蚊譚葫債祝瞬梭央黍網(wǎng)絡編程實用教程第二版_第3章網(wǎng)絡編程實用教程第二版_第3章 7.從一個已連接套接口接收數(shù)據(jù) RECV() int recv( SOCKET s, char * buf, int len, int flags)。 圖 34說明了 send和 recv的作用,套接字緩沖區(qū)與應用進程緩沖區(qū)的關系,以及協(xié)議棧所作的傳送。 圖 Send()和 Recv()都是對本地套接字的操作 樸域勘童躍
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1