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

正文內(nèi)容

lab8-socket編程原理(存儲(chǔ)版)

  

【正文】 由 accept()確定 客戶端五元組 由 socket()確定 由客戶端的 bind()調(diào)用確定。 WSADATA wsaData。 socket()參數(shù)說(shuō)明 ? af參數(shù)說(shuō)明套接字接口要使用的協(xié)議地址族,地址族與協(xié)議族含義相同。 char sin_zero[8]。 =htonl(INADDR_ANY)。 int connect( SOCKET s, const struct sockaddr FAR * name, int namelen )。 recv()函數(shù)參數(shù)說(shuō)明 ?s為已建立連接的套接口 ?buf為用于接收數(shù)據(jù)的緩沖區(qū) ?len為緩沖區(qū)的長(zhǎng)度 ?flags指定調(diào)用的方式。如果用于有連接的套接口時(shí),則不能指定目標(biāo)地址和目標(biāo)端口,將 to設(shè)置為空,地址長(zhǎng)度設(shè)為 0。 ?參數(shù) s表示即將被關(guān)閉的套接口 IP地址轉(zhuǎn)換函數(shù) ?char * i_ntoa ( struct in_addr in ) in為傳入?yún)?shù),表示一個(gè)結(jié)構(gòu)型的 IP主機(jī)地址,該函數(shù)將一個(gè) 32位數(shù)字表示的 IP地址轉(zhuǎn)換成點(diǎn)分十進(jìn)制 IP地址字符串 ?unsigned long i_addr(const char FAR * cp) 該函數(shù)將一個(gè)點(diǎn)分十進(jìn)制 IP地址字符串轉(zhuǎn)換成32位數(shù)字表示的 IP地址。 ?與前面的介紹相似,使用 MFC的 Winsock類進(jìn)行操作時(shí)需要使用 、 。 ?一個(gè)套接口不再使用時(shí)一定要關(guān)閉這個(gè)套接口,以釋放與該套接口關(guān)聯(lián)的所有資源,包括等候處理的數(shù)據(jù)。 recvfrom()函數(shù)參數(shù)說(shuō)明 ?s標(biāo)識(shí)一個(gè)套接口的描述字 ?buf接收數(shù)據(jù)的緩沖區(qū) ?len接收數(shù)據(jù)緩沖區(qū)的長(zhǎng)度 ?flags調(diào)用操作方式,同 recv()中的 flags ?from可選指針,指向裝有源地址的緩沖區(qū) ?fromlen可選指針,指向 from緩沖區(qū)的長(zhǎng)度值 ?函數(shù)說(shuō)明 :該函數(shù)的用法與有連接時(shí) recv()的用法一致,要注意的是該函數(shù)也可以用于有連接時(shí)數(shù)據(jù)的接收 在無(wú)連接套接口上發(fā)送數(shù)據(jù) sendto() ?對(duì)于無(wú)連接的套接口來(lái)說(shuō),要從套接口上發(fā)送一個(gè)數(shù)據(jù)報(bào),就要使用 sendto()函數(shù) int sendto( SOCKET s, const char FAR * buf, int len, int flags, const struct sockaddr FAR * to, int tolen )。 send()函數(shù)參數(shù)說(shuō)明 ? s用于標(biāo)識(shí)已建立連接的套接字 ? buf是一個(gè)字符緩沖區(qū),內(nèi)有將要發(fā)送的數(shù)據(jù) ? len即將發(fā)送的緩沖區(qū)中的字符數(shù) ? flags用于控制數(shù)據(jù)傳輸方式, 0表示按正常方式發(fā)送數(shù)據(jù);宏 MSG_DONTROUTE說(shuō)明系統(tǒng)目標(biāo)主機(jī)就在直接連接的本地網(wǎng)絡(luò)中,無(wú)需路由選擇; MSG_OOB指出數(shù)據(jù)是按帶外數(shù)據(jù)發(fā)送的 ? 函數(shù)說(shuō)明 : send()函數(shù)適用于已建立連接的數(shù)據(jù)報(bào)或流式套接口發(fā)送數(shù)據(jù),對(duì)于數(shù)據(jù)報(bào)類型套接口必須注意發(fā)送數(shù)據(jù)長(zhǎng)度不大于通信子網(wǎng)的 IP包最大長(zhǎng)度 接收數(shù)據(jù)- recv()函數(shù) ?對(duì)于已建立連接的套接口來(lái)說(shuō),要從套接口上接收數(shù)據(jù),就要使用 recv()函數(shù)。 s代表一個(gè)已綁定了地址,但還未建立連接的套接口描述字 backlog指定了正在等待連接的最大隊(duì)列長(zhǎng)度 客戶端請(qǐng)求連接- connect()函數(shù) ?當(dāng)服務(wù)器端建立好套接口并與一個(gè)本地地址綁定后,就進(jìn)入監(jiān)聽(tīng)狀態(tài),等待客戶發(fā)出連接請(qǐng)求。 =AF_INET。 u_short sin_port。 }//說(shuō)明 WinsockDLL正確加載,可以執(zhí)行以下代碼 創(chuàng)建套接口 socket() ? 應(yīng)用程序在使用套接口通信前,必須要擁有一個(gè)套接口,使用 socket()函數(shù)來(lái)給應(yīng)用程序創(chuàng)建一個(gè)套接口。 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData )。 ?數(shù)據(jù)報(bào)套接字 (SOCK_DGRAM) ? 提供無(wú)連接服務(wù)。數(shù)據(jù)被看作是字節(jié)流,無(wú)長(zhǎng)度限制。 ?如果使用 Visual C++ ,可以通過(guò)“工程” “設(shè)置” “工程設(shè)置” “鏈接” “對(duì)象 /庫(kù)模塊”中加入“ ” Windows Socket的啟動(dòng) ? 使用 Winsock API編制的網(wǎng)絡(luò)應(yīng)用程序中,在調(diào)用任何一個(gè) Winsock函數(shù)之前都必須檢查協(xié)議棧安裝情況,使用函數(shù) WSAStartup()完成操作。 return。 bind()參數(shù)說(shuō)明 ? s標(biāo)識(shí)一個(gè)未綁定的套接口描述字,它是 socket()函數(shù)調(diào)用成功時(shí)返回的值 ? name是一個(gè)與指定協(xié)議有關(guān)的地址結(jié)構(gòu)指針,存儲(chǔ)了套接口的地址信息, Winsock中使用 sockaddr_in結(jié)構(gòu)指定 IP地址和端口信息 struct sockaddr_in{ short sin_family。 //端口號(hào) s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)。 服務(wù)器端啟動(dòng)監(jiān)聽(tīng)- listen()函數(shù) ? 在一個(gè)服務(wù)器端用 socket()調(diào)用成功創(chuàng)建了一個(gè)套接口,并用 bind()函數(shù)和一個(gè)指定的地址關(guān)聯(lián)后,就需要指示該套接口進(jìn)入監(jiān)聽(tīng)連接請(qǐng)求狀態(tài),這需要通過(guò)l
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1