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

正文內(nèi)容

基于visualc的p2p文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-文庫吧資料

2024-12-14 02:23本頁面
  

【正文】 式。參數(shù): s: Socket 的識(shí)別碼 buf:存放要傳送的資料的暫存區(qū); len buf:的長度;flags:此函數(shù)被調(diào) 用的方式。 數(shù)據(jù)的傳送 以保證資料的正確性,一般情況下 TCP Socket 的數(shù)據(jù)發(fā)送和接收是調(diào)用 send() 及recv() 這兩個(gè)函數(shù)來達(dá)成,而 UDP Socket 則是用 sendto() 及 recvfrom() 這兩個(gè)函東南大學(xué)成賢學(xué)院 第 11 頁 共 44 頁 數(shù),這兩個(gè)函數(shù)調(diào)用成功發(fā)揮發(fā)送或接收的資料的長度,否則返回 SOCKET_ERROR。 int PASCAL FAR connect( SOCKET s, const struct sockaddr FAR *name, int namelen )。與服務(wù)器端的 socket 不同的是,客戶端的 socket可以調(diào)用 bind()函數(shù),由自己來指定 IP 地址及 port 號(hào)碼;但是也可以不調(diào)用 bind(),而由 Winsock 來自動(dòng)設(shè)定 IP 地址及 port 號(hào)碼。 參數(shù): s: Socket 的識(shí)別碼; int PASCAL FAR WSACleanup( void )。這兩個(gè)函數(shù)都是調(diào)用成功返回 0,否則返回 SOCKET_ERROR。 結(jié)束 socket 連接 結(jié)束服務(wù)器和客戶端的通信連接是很簡(jiǎn)單的,這一過程可以由服務(wù) 器或客戶機(jī)的任一端啟動(dòng),只要調(diào)用 closesocket()就可以了,而要關(guān)閉 Server 端監(jiān)聽狀態(tài)的 socket,同樣也是利用此函數(shù)。 SOCKET PASCAL FAR accept( SCOKET s, struct sockaddr FAR addr,int FAR addrlen )。為了使服務(wù)器端接受客戶端的連接請(qǐng)求,就要使用 accept() 函數(shù),該函數(shù)新建一 Socket 與客戶端的 Socket 相 通,原先監(jiān)聽之 Socket 繼續(xù)進(jìn)入監(jiān)聽狀態(tài),等待他人的連接要求。具體應(yīng)用時(shí), wMsg 應(yīng)是在應(yīng)用程序中定義的消息名稱,而消息結(jié)構(gòu)中的 lParam 則為以上各種網(wǎng)絡(luò)事件名稱。 int PASCAL FAR WSAAsyncSelect( SOCKET s, HWND hWnd,unsigned int wMsg, long lEvent )。為了知道什么時(shí)候客戶端提出連接要求,從而服務(wù)器端的 Socket 在恰當(dāng)?shù)臅r(shí)候調(diào)用 accept()函數(shù)完成連接的建立,我們就要使用WSAAsyncSelect()函數(shù),讓系統(tǒng)主動(dòng)來通知我們有客戶端提出連接請(qǐng)求了。 int PASCAL FAR listen( SOCKET s, int backlog )。 listen()函數(shù)使服務(wù)器端的 Socket 進(jìn)入監(jiān)聽狀態(tài),并設(shè)定可以建立的最大連接數(shù) (目前最大值限制為 5, 最小值為 1)。此后可以調(diào)用 getsockname()函數(shù)來獲知其被設(shè)定的值。 東南大學(xué)成賢學(xué)院 第 9 頁 共 44 頁 int PASCAL FAR bind( SOCKET s, const struct sockaddr FAR name,int namelen )。 SOCKET PASCAL FAR socket( int af, int type, int protocol ) 參數(shù) af 目 前 只 提 供 PF_INET(AF_INET) ; type : Socket 的 類 型 (SOCK_STREAM、 SOCK_DGRAM); protocol:通訊協(xié)定 (如果使用者不指定則設(shè)為0); 如果要建立的是遵從 TCPIP協(xié)議的 socket,第二個(gè)參數(shù) type應(yīng)為 SOCK_STREAM,如為 UDP(數(shù)據(jù)報(bào))的 socket,應(yīng)為 SOCK_DGRAM。 建立 Socket 初始化 WinSock的動(dòng)態(tài)連接庫后,需要在服務(wù)器端建立一個(gè)監(jiān)聽的 Socket,為此可以調(diào)用 Socket()函數(shù)用來建立這個(gè)監(jiān)聽的 Socket,并定義此 Socket 所使用的通信協(xié)議。在程序中調(diào)用該函數(shù)的形式如下: WSAStartup((WORD)((181),( LPWSADATA) amp。應(yīng)用程序在網(wǎng)絡(luò)上傳輸,接收的信息都通過這個(gè) Socket 接口來實(shí)現(xiàn)?,F(xiàn)在的 Winsock已經(jīng)基本上實(shí)現(xiàn)了與協(xié) 議無關(guān),你可以使用 Winsock來調(diào)用多種協(xié)議的功能,但較常使用的是 TCPIP 協(xié)議。這就是在兩個(gè)或多個(gè)應(yīng)用程序間進(jìn)行網(wǎng)絡(luò)通信的基本工作原理。接收到的每一條消息都被復(fù)制到所有已收到的消息列表中。一旦該應(yīng)用程序同一個(gè)應(yīng)用程序之間建立了連接,就能夠在它的對(duì)話框里鍵入要發(fā)送的文本消息,并把它們發(fā)送給另一個(gè)應(yīng)用程序。正像兩個(gè)人打電話交談一樣,這個(gè)連接是一個(gè)雙向的通道,即雙方都可以發(fā)送消息。同樣的道理,試圖連接到第一個(gè)應(yīng)用程序的這個(gè)程序也必須知道第一個(gè)應(yīng)用程序的網(wǎng)絡(luò)位置或網(wǎng)絡(luò) 地址。你撥了電話號(hào)碼,并希望要找的那個(gè)人正在電話線的另一頭等接電話。與時(shí)同時(shí),另一個(gè)應(yīng)用程序,一般是東南大學(xué)成賢學(xué)院 第 7 頁 共 44 頁 運(yùn)行在另一臺(tái)計(jì)算機(jī)上(當(dāng)然也可以是同一臺(tái)機(jī)器上),試圖同第一個(gè)應(yīng)用程序連接。 通信原理及過程 大多數(shù)通過網(wǎng)絡(luò)進(jìn)行通信的應(yīng)用程序,不論是通過因特網(wǎng)還是小型的辦公網(wǎng)絡(luò),它們都使用同樣的原則和功能來執(zhí) 行通信。 WinI 隱藏了協(xié)議的具體的協(xié)議細(xì)節(jié),使得應(yīng)用程序不必直接實(shí)現(xiàn)協(xié)議,而只需要調(diào)用一個(gè)協(xié)議接口,這樣在協(xié)議更新時(shí),只要更新 WinI 動(dòng)態(tài)鏈接庫即可,程序本身無須做任何修改。另外, WinI 函數(shù)的調(diào)用形式與多數(shù) Win32 API 函數(shù)類似,也便于用戶掌握和使用。雖然 ExitProcess()函數(shù)可以在結(jié)束進(jìn)程的 同時(shí)通知與其相關(guān)聯(lián)的動(dòng)態(tài)鏈接庫,但是由于它的這種執(zhí)行的強(qiáng)制性,使得 ExitProcess()函數(shù)在使用上將存在安全隱患。 Exit Process()函數(shù)即可在進(jìn)程中的某個(gè)線程中使用,并將立即終止本進(jìn)程的運(yùn)行。這種進(jìn)程的終止方式是進(jìn)程的正常退出,進(jìn)程中的所有線程資源都能夠得到正確的清除。 結(jié)束進(jìn)程:進(jìn)程只是提 供了一段地址空間和內(nèi)核對(duì)象,其運(yùn)行是通過在其地址空間內(nèi)的主線程來體現(xiàn)的。一般情 況下 TCP Socket 的數(shù)據(jù)發(fā)送和接收是調(diào)用 send() 及 recv() 這兩個(gè)函數(shù)來達(dá)成,而 UDP Socket則是用 sendto() 及 recvfrom() 這兩個(gè)函數(shù),這兩個(gè)函數(shù)調(diào)用成功發(fā)揮發(fā)送或接收的數(shù)據(jù)的長度,否則返回 SOCKET_ERROR。 Datagram(UDP) Socket 雖然提供雙向的通信,但沒有可靠、有次序、不重復(fù)的保證,所以 UDP 傳送數(shù)據(jù)可能會(huì)收到無次序、重復(fù)的數(shù)據(jù),甚至數(shù)據(jù)在傳輸過程中出現(xiàn)遺漏。 雖然基于 TCP/IP 連接協(xié)議(流套接字)的服務(wù)是設(shè)計(jì)客戶機(jī) /服務(wù)器應(yīng)用程序時(shí)的主流標(biāo)準(zhǔn),但有些服 務(wù)也是可以通過無連接協(xié)議(資料報(bào)套接字)提供的。 欺騙 UDP 包比欺騙 TCP 包更容易,因?yàn)?UDP 沒有建立初始化連接(也可以稱為握手)(因?yàn)樵趦蓚€(gè)系統(tǒng)間沒有虛電路),也就是說,與 UDP 相關(guān)的服務(wù)面臨著更大的危險(xiǎn)。相對(duì)于 FTP 或 Tel,這些服務(wù)需要交換的信息量較小。 TCP 協(xié)議即采用流式套接字 SOCKET_STREAM。 面向連接的服務(wù)(例如 Tel、 FTP、 rlogin、 X Windows 和 SMTP)需要高度的可靠性,所以它們使用了 TCP。 TCP 將它的信息送到更高層的應(yīng)用程 序,例如 Tel 的服務(wù)程序和客戶程序。 TCP 將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接?;窘Y(jié)構(gòu)如圖 , 這個(gè)結(jié)構(gòu)存在于Inter 中計(jì)算機(jī)之中,它決定了計(jì)算機(jī)在網(wǎng)絡(luò)上的動(dòng)作。 軟件的預(yù)期實(shí)現(xiàn)的目標(biāo)和完成狀況 服務(wù)器端的應(yīng)用程序?qū)⑼瓿扇缦鹿δ? —— 通過數(shù)據(jù)庫驗(yàn)證用戶名密碼登陸 —— 設(shè)置服務(wù)器的賬號(hào) —— 監(jiān)聽客戶端的連接請(qǐng)求 —— 為請(qǐng)求連接的客戶端建立 SOCKET 隊(duì)列 —— 向客戶端發(fā)送消息 —— 從客戶端接收消息 —— 向客戶端發(fā)送文件 —— 從客戶端接收文件 —— 與客戶端語音通信 —— 截取 屏幕 —— 可以與客戶端進(jìn)行遠(yuǎn)程協(xié)助(控制鍵盤鼠標(biāo)進(jìn)程) 客戶端的通訊程序?qū)⑼瓿扇缦鹿δ? 東南大學(xué)成賢學(xué)院 第 3 頁 共 44 頁 —— 通過數(shù)據(jù)庫驗(yàn)證用戶名密碼登陸 —— 建立與服務(wù)器的連接 —— 關(guān)閉與服務(wù)器的連接 —— 向服務(wù)器發(fā)送消息 —— 從服務(wù)器接收消息 —— 向服務(wù)器發(fā)送文件 —— 從服務(wù)器接收文件 —— 與服務(wù)器語音通信 —— 截取屏幕 —— 可以與服務(wù)器進(jìn)行遠(yuǎn)程協(xié)助(控制鍵盤鼠標(biāo)進(jìn)程) 目前的實(shí)現(xiàn)狀況 由于這套軟件采用 Visual C++進(jìn)行網(wǎng)絡(luò)編程,同時(shí)還涉及到了數(shù)據(jù)庫編程和 VC++的多線程,為了使用戶接口美觀、使用方便, 還需要采用編程的方法進(jìn)行處理和美化,另外處理網(wǎng)絡(luò)通信和用戶信息交流還要建立各種輔助的數(shù)據(jù)結(jié)構(gòu)和信息管理系統(tǒng),所以需要處理的細(xì)節(jié)問題較多;此外,服務(wù)器和客戶端軟件要分別編寫,這樣還牽扯到它們之間通信方案的制定,這樣造成整套軟件的編碼工作量較大,所以整個(gè)軟件的實(shí)現(xiàn)目標(biāo)并未完全實(shí)現(xiàn),主要是與數(shù)據(jù)庫連接,語音聊天和界面的美工尚未完成。目前,國內(nèi) P2P 的應(yīng)用主要有兩個(gè)方向:文件共享及協(xié)同工作。Napster 雖然敗訴,這似乎預(yù)示著 P2P 的挫折,但實(shí)際上這卻意味著由 P2P 帶來的新的規(guī)則正在建立,相關(guān)的數(shù)字版權(quán)立法已經(jīng)開始, P2P 的力量開始逐步顯示出來。 在國外, P2P 發(fā)展已經(jīng)如火如荼, Intel、 Sun、 Microsoft 等公司已經(jīng)在制定 P2P的標(biāo)準(zhǔn)。這使人們?cè)贗nter上的共享行為被提到了一個(gè)更高的層次,使人們以更主動(dòng)深刻的方式參與到網(wǎng)東南大學(xué)成賢學(xué)院 第 2 頁 共 44 頁 絡(luò)中去,正如 I2(第二代互聯(lián)網(wǎng):簡(jiǎn)單的說,就是借助 IPv6的力量,解決絕大多數(shù)第一代互聯(lián)網(wǎng)遇到的難題,把網(wǎng)絡(luò)、電視、電話還有所有可能想象到的應(yīng)用囊括其中 )之父 Doug. Van Houweling 在他的中國之行時(shí)說到的:“下一代互聯(lián)網(wǎng)民們將真正參與到網(wǎng)絡(luò)中來,每個(gè)人都能為網(wǎng)絡(luò)的資源和功能擴(kuò)展作出自己的貢獻(xiàn)。當(dāng)然,在許多人的眼中, Napster 并不是純粹的 P2P,它仍然需要一個(gè)處于中心協(xié)調(diào)機(jī)制。 Napster 的文件共享功能在局域網(wǎng)中共享目錄也是再平 常不過的事情。 今天, P2P 再一次被關(guān)注主要是由 于 Napster 以及 ICQ 類軟件的出現(xiàn),雖然在Napster 之前 P2P 方式的研究也從未停止。以 為例,互聯(lián)網(wǎng)上并沒有一個(gè)巨大的、唯一的郵件服務(wù)器來處理所有的 ,而是對(duì)等聯(lián)網(wǎng)的郵件服務(wù)器相互協(xié)作把 傳送到相應(yīng)的服務(wù)器上去。當(dāng)然,后來發(fā)展的那些架構(gòu)在 TCP/IP 之上的軟件的確采用了客戶機(jī) /服務(wù)器的結(jié)構(gòu):瀏覽器和 Web 服務(wù)器,郵件客戶端和郵件服務(wù)器。互聯(lián)網(wǎng)最基本的協(xié)議 TCP/IP 并沒有客戶端和服務(wù)器的概念,所有的設(shè)備都是通訊的平等的一端。在現(xiàn)實(shí)生活中我們每天都按照 P2P 模式面對(duì)面地或者通過電話交流和溝通。 P2P 另一個(gè)重要特點(diǎn)是改變互聯(lián)網(wǎng)現(xiàn)在的以大網(wǎng)站為中心的狀態(tài),重返“非中心化”,并把權(quán)力交還給用戶。三年前,因?yàn)?P2P 音樂下載,他和創(chuàng)業(yè)伙伴面臨著來自美國唱片工業(yè)協(xié)會(huì)的訴訟威脅;三年后, P2P 支撐的互聯(lián)網(wǎng)通信已經(jīng)成為市場(chǎng)的寵兒。 2021年,尼古拉斯s process, lock and unlock the keyboard and mouse locking and unlocking other. Keywords P2P ; client; Server; munication; multithread東南大學(xué)成賢學(xué)院 第 V 頁 共 44 頁 目錄 第一章 緒論 ............................................................................................................1 .............................................................1 .............................................................2 ...............................................2 ...................................................2 ...............................................................................3 第二章 通信方案的設(shè)計(jì) .........................................................................................4 TCP 與 UDP 協(xié)議的選擇 ............................................................................4 TCP 協(xié)議 ........................
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1