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

正文內(nèi)容

基于visualc的p2p文件傳輸系統(tǒng)的設(shè)計與實現(xiàn)(完整版)

2025-01-23 02:23上一頁面

下一頁面
  

【正文】 ............................................................................4 TCP 協(xié)議 ........................................................................................4 UDP 協(xié)議 ........................................................................................5 多線程編程 ................................................................................................5 WinI編程與 WinSock 編程的比較及其優(yōu)點 ............................................6 通信原理及過程 .........................................................................................6 第三章 具體的設(shè)計方法 .........................................................................................8 基本的 SOCKET 函數(shù) ................................................................................8 通信過程 ................................................................................................. 11 C/S模式的請求響應方式 ..................................................................... 11 SOCKET 建立連接過程 ........................................................................ 12 ....................................................................................... 13 ....................................................................................... 15 具體實現(xiàn)部分 .......................................................................................... 17 ............................................................................. 17 ............................................................................. 24 ..................................................................................................... 26 .............................................................................................. 27 東南大學成賢學院 第 VI 頁 共 44 頁 .............................................................................................. 29 第四章 存在的問題及解決辦法 .............................................................................. 33 第五章 后記 .......................................................................................................... 36 第六章 參考文獻 ................................................................................................... 37 第七章 致 謝 ...................................................................................................... 38 東南大學成賢學院 第 1 頁 共 44 頁 第一章 緒論 課題的主要內(nèi)容和國內(nèi)外發(fā)展方向 P2P 可以理解為“伙伴對伙伴”的意思。在現(xiàn)實生活中我們每天都按照 P2P 模式面對面地或者通過電話交流和溝通。 今天, P2P 再一次被關(guān)注主要是由 于 Napster 以及 ICQ 類軟件的出現(xiàn),雖然在Napster 之前 P2P 方式的研究也從未停止。 在國外, P2P 發(fā)展已經(jīng)如火如荼, Intel、 Sun、 Microsoft 等公司已經(jīng)在制定 P2P的標準?;窘Y(jié)構(gòu)如圖 , 這個結(jié)構(gòu)存在于Inter 中計算機之中,它決定了計算機在網(wǎng)絡上的動作。 TCP 協(xié)議即采用流式套接字 SOCKET_STREAM。 Datagram(UDP) Socket 雖然提供雙向的通信,但沒有可靠、有次序、不重復的保證,所以 UDP 傳送數(shù)據(jù)可能會收到無次序、重復的數(shù)據(jù),甚至數(shù)據(jù)在傳輸過程中出現(xiàn)遺漏。 Exit Process()函數(shù)即可在進程中的某個線程中使用,并將立即終止本進程的運行。 通信原理及過程 大多數(shù)通過網(wǎng)絡進行通信的應用程序,不論是通過因特網(wǎng)還是小型的辦公網(wǎng)絡,它們都使用同樣的原則和功能來執(zhí) 行通信。正像兩個人打電話交談一樣,這個連接是一個雙向的通道,即雙方都可以發(fā)送消息?,F(xiàn)在的 Winsock已經(jīng)基本上實現(xiàn)了與協(xié) 議無關(guān),你可以使用 Winsock來調(diào)用多種協(xié)議的功能,但較常使用的是 TCPIP 協(xié)議。 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,第二個參數(shù) type應為 SOCK_STREAM,如為 UDP(數(shù)據(jù)報)的 socket,應為 SOCK_DGRAM。 int PASCAL FAR listen( SOCKET s, int backlog )。為了使服務器端接受客戶端的連接請求,就要使用 accept() 函數(shù),該函數(shù)新建一 Socket 與客戶端的 Socket 相 通,原先監(jiān)聽之 Socket 繼續(xù)進入監(jiān)聽狀態(tài),等待他人的連接要求。 參數(shù): s: Socket 的識別碼; int PASCAL FAR WSACleanup( void )。參數(shù): s: Socket 的識別碼 buf:存放要傳送的資料的暫存區(qū); len buf:的長度;flags:此函數(shù)被調(diào) 用的方式。 傳輸文件過程 東南大學成賢學院 第 14 頁 共 44 頁 自己中斷 服務器 客戶端 向客戶端發(fā)送傳輸文件請求,等待 等待服務器的請求 自己中斷 開始傳輸文件進程進程 開始傳輸文件進程進程 SOCKET 建立連接并傳輸文件 SOCKET 建立連接并傳輸文件 過程中斷或?qū)Ψ降闹袛? 過程中斷或?qū)Ψ降闹袛? 傳輸完畢,結(jié)束進程 傳輸完畢,結(jié)束進程 關(guān)閉 連接,返回 關(guān)閉連接,返回 對方拒絕 對方拒絕 東南大學成賢學院 第 15 頁 共 44 頁 圖 3. 3 傳輸文件過程 首先服務器向客戶端發(fā)送請求,要求傳送文件,在得到客戶端相應之前,雙方都可以取消這次傳輸,同時通知對方已經(jīng)取消連接;一旦客戶端給了服務器響應,則建立進程,進行傳輸;建立的進程里,要定義新的 SOCKET 套接字,以建立連接,在 傳輸過程中,同樣可以進行中斷,同時通知對方已經(jīng)取消連接;傳輸結(jié)束后,斷開連接,結(jié)束該進程。指定類型為 void,函數(shù)聲明為 SetParent (CDialog* pWnd)。 連接應用程序 客戶端與服務器的連接通過建立 SOCKET 套接字完成的,客戶端進行連接,服務器進程偵聽,如果在規(guī)定的時間內(nèi)連接不上,或是網(wǎng)絡問題,則系統(tǒng)自動退出,提示用戶有錯誤發(fā)生;一旦建立連接,就可以通 過以定義函數(shù)發(fā)送和接受消息,直到用戶退出。在實際 Windows 網(wǎng)絡通信軟件開發(fā)中,異步非阻塞套接字是用的最多的。 ②接收 (這是本程序的一個關(guān)鍵部分,一些文件的傳輸狀態(tài)要靠這部分決定,但不是理想解決方案,主要是在傳輸文件時用到)。(在傳送線程函數(shù)里沒傳送 1k 的文件就會循環(huán)詢問一次 m_bSendEnd 是否為 true),故在確定 m_bSendEnd 為 true 后,向?qū)Ψ桨l(fā)東南大學成賢學院 第 25 頁 共 44 頁 送消息 發(fā)送端終止 ,然后結(jié)束退出; ( 4)在傳送過程中:如果對方中止,則會受到消息“客戶端接收終止”,則設(shè)置m_bRecEnd 為 TRUE,同樣的在傳送 線程函數(shù)里沒傳送 1k 的文件就會循環(huán)詢問一次m_bSendEnd 是否為 true,故在確定 m_bSendEnd 為 true 后,結(jié)束退出; 在沒有任何終止消息的情況下,調(diào)用函數(shù) AfxBeginThread創(chuàng)建線程,開始發(fā)送文件:首先調(diào)用 Open 函數(shù)打開要傳送的文件,然后創(chuàng)建 CSocket 類的對象 sockSrvr,開始另一個套接字,等待對方的連接;連接成功后,創(chuàng)建 SSFI 對象,來接收文件的信息, SSFI 結(jié)構(gòu)如下: typedef struct SSFI { //SOCKET_STREAM_FILE_INFO 獲取文件信息 TCHAR szFileTitle[128]。 //保留,為 0 DWORD dwReserved1。常見的WAVE 語音文件主要有兩種,分別對應于單聲道( 采樣率、 8Bit 的采樣值)和雙聲道( 采樣率、 16Bit 的采樣值)。(本程序還沒有完全實現(xiàn)這個功能)。然后用 waveInOpen 函數(shù)打開錄音設(shè)備,以初始化WAVE 波形的頭信息, waveInPrepareHeader為錄音設(shè)備準備緩存后, waveInAddBuffer/給 輸 入 設(shè) 備增 加 一 個緩 存 ,開 始 錄 音, 調(diào) 用 waveInStart 函 數(shù) , 開始Audio_Listen_CThread 和 Audio_Send_CThread 進程; ① Audio_Listen_CThread:聲音文件接受線程 先定義 CSocket 類的對象 m_Server,調(diào)用 Create, Listen,等待對方連接,連接成功后,開始循環(huán)接收聲音文件,首先接收文件長度,接下來開辟 length 長的內(nèi)存空間,內(nèi)存申請成功,可以進行循環(huán)檢測接受,每輪聲音文件接收完畢 后,都要檢查是否地址越界;接受完畢后,關(guān)閉 SOCKET 連接; ② Audio_Send_CThread:聲音文件發(fā)送線程 東南大學成賢學院 第 29 頁 共 44 頁 先定義 CSocket 類的對象 m_Client,調(diào)用 Connect 函數(shù),建立與對方的連接,循環(huán)檢測發(fā)送聲音文件,首先發(fā)送塊的長度,其次發(fā)送塊的內(nèi) 容;用 dwSent 表示已經(jīng)發(fā)送的字節(jié)數(shù),發(fā)送聲音文件開始,每輪聲音文件發(fā)送完畢后,都要檢查是否地址越界;接受完畢后,關(guān)閉 SOCKET 連接; 遠程控制 此功能類似于 的遠程協(xié)助,但有很大的局限性,僅能夠鎖定或解鎖對方鍵盤,鼠標,得到對方進程和殺死某個進程。采樣值是指每一次采樣周期內(nèi)聲音模擬信號的積分值。//對象和指針 定義變量 dwRead,來累計傳送字節(jié)數(shù),初始為 0,只要比要傳送的文件小就進行循環(huán)傳送;在循環(huán)過程中還要判斷 2種中斷的方式是否發(fā)生,每次傳送過程中都要分配 1024字節(jié)的空間,來存儲讀入的文件流, sockRecv 對象調(diào)用函數(shù) S
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1