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

正文內(nèi)容

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

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

下一頁面
  

【正文】 ime。 東南大學(xué)成賢學(xué)院 第 26 頁 共 44 頁 圖 3. 13傳輸文件過程 截圖 截取屏幕類 CScreen 的初始化:首先由矩形類 CMyTracker 的對象 m_rectTracker 設(shè)置矩形顏色 RGB(0,0,255)藍(lán)色,再由 LoadCursor 函數(shù) 加載光標(biāo), GetSystemMetrics 取得屏幕的像素,最后由 CopyScreen ToBitmap 截取屏幕到位圖,由 CreateRectRgn 函數(shù)初始化刷新窗口區(qū)域 m_rgn,以顯示動(dòng)態(tài)信息,由 OnCtlColor 函數(shù)設(shè)置 m_rgn 內(nèi)文本顏色; 鼠標(biāo)在該截圖上的操作具體由 OnMouseMove實(shí)現(xiàn),在這個(gè)函數(shù)里, SendMessage 發(fā)送消息 WM_MOUSEMOVE,觸發(fā) CDialog 類的 OnMouseMove 事件,然后再進(jìn)一步得到鼠標(biāo)的操作過程,如鼠標(biāo)左鍵按下,鼠標(biāo)左鍵抬起,左鍵雙擊,單擊鼠標(biāo)右鍵,不同動(dòng)作有不同的處理方法: OnLButtonDown鼠標(biāo)左鍵 按下時(shí),如果是第一次,則 m_bFirstDraw 位 false,此時(shí)畫出最小的矩形, SetRect(, ,+4,+4),然后再有此按用戶需要畫出矩形,最后 PaintWindow;如果不是第一次按下,則可以調(diào)整矩形的大東南大學(xué)成賢學(xué)院 第 27 頁 共 44 頁 小,以滿足用戶的需要, Track 函數(shù)會(huì)自動(dòng)調(diào)整矩形大小 ,在些期間 ,消息歸CRectTracker內(nèi)部處理;最后觸發(fā) CDialog類的 OnLButtonDown函數(shù),得到鼠標(biāo)的響應(yīng); OnLButtonUp鼠標(biāo)左鍵抬起時(shí), PaintWindow()畫出已確定的矩形,最后觸發(fā) CDialog類的 OnLButtonUp 函數(shù),得到鼠標(biāo)的響應(yīng); OnLButtonDblClk如果在是矩形內(nèi)部雙擊, CopyScreenToBitmap()函數(shù)將畫出的矩形拷貝到剪貼板上,最后觸發(fā) CDialog 類的 OnLButtonDblClk 函數(shù),得到鼠標(biāo)的響應(yīng); OnRButtonUp鼠標(biāo)右鍵操作,如果是第一次按下,則 m_bFirstDraw 位 true,進(jìn)行下面操作,如果已經(jīng)截取矩則清除截取矩形 SetRect(1,1,1,1) ,否則調(diào)用CDialog類的 OnCancel()退 出 。對于單聲道聲音文件,采樣數(shù)據(jù)為八位的短整數(shù)( short int 00HFFH);而對于雙聲道立體聲聲音文件,每次采樣數(shù)據(jù)為一個(gè) 16位的整數(shù)( int),高八位和低八位分別代表左右兩個(gè)聲道。對于每個(gè)功能,過程相似:首先客戶端向服務(wù)器發(fā)出請求,服務(wù)器同意后建立連接,然后用戶如果想執(zhí)行某個(gè)功能,例如鎖定鼠標(biāo),則點(diǎn)擊“鎖定鼠標(biāo)”按鈕,客戶端向服務(wù)器發(fā)送一個(gè)標(biāo)志字符,通知服務(wù)器要進(jìn)行這項(xiàng)操作;服務(wù)器收到消息后根據(jù)標(biāo)志字符判斷屬于哪項(xiàng)操作,然 后作出相應(yīng)操作,對于“鎖定鼠標(biāo)”,則修改注冊表項(xiàng),使其無法工作,下面是操作主界面(如圖 ): 圖 3. 15遠(yuǎn)程控制主界面 對于具體的功能操作詳細(xì)說明如下 : 得到對方機(jī)器信息 客戶端要向服務(wù)器發(fā)送消息“ I” ,服務(wù)器收到并做出判斷后,啟動(dòng)進(jìn)程++:首先通過 gethostname 函數(shù)得到主機(jī)名strMsg;調(diào)用庫函數(shù) GetSystemInfo 得到系統(tǒng)信息:內(nèi)存大小 Memory,操 作系統(tǒng)類型os,屏幕分辨率 display 等;最后向客戶端發(fā)送標(biāo)志“ J”,表示要發(fā)送的是系統(tǒng)信息,發(fā)送完后,關(guān)閉連接。在點(diǎn)對點(diǎn)網(wǎng)絡(luò)傳輸方面,選擇面向連接的 TCP 協(xié)議, TCP 傳輸協(xié)議自動(dòng)處理分組丟失和交付失序問題,這樣我們不用為這些問題操心,只需很好地利用這個(gè)連接,在采集話音回放之前一方面將自己的話音傳給網(wǎng)絡(luò),另一方面接收網(wǎng)絡(luò)傳來的話音,這樣便實(shí)現(xiàn)了點(diǎn)對點(diǎn)語音通信。東南大學(xué)成賢學(xué)院 第 28 頁 共 44 頁 為了突出重點(diǎn),有的放矢,本文涉及到的聲音文件所指的就是 WAVE 文件。 //文件大小的低位雙字 DWORD dwReserved0。 初始時(shí)要?jiǎng)?chuàng)建文件對話框 dlg,如果用戶在選擇完要傳送的檔后按下 ok(或確定)鍵的話,進(jìn)行相關(guān)操作,否則退出;按下 ok后,向?qū)Ψ桨l(fā)送通知消息 服務(wù)器要發(fā)送文件 receive or stop,讓對方確定是接收還是拒絕, m_bSendStart 一直是 FALSE,因此執(zhí)行 while 循環(huán),不能開始創(chuàng)建發(fā)送文件線程;另外文件傳送的過程可以隨時(shí)結(jié)束, 結(jié)束方式有 4種情況: ( 1)在沒傳送之前: 如果用戶收到對方拒絕接受的消息“客戶端拒絕傳送”,則設(shè)置標(biāo)志 m_bSendStop 位 TRUE,發(fā)送方自動(dòng)退出,不再傳送文件; ( 2)在沒傳送之前:如果用戶突然不想發(fā)送文件了,這是點(diǎn)擊 Stop 按鈕,消息響應(yīng)函數(shù)使得 m_bSendStop 標(biāo)志 為 true,這是中斷 while 循環(huán) ,自動(dòng)退出,同時(shí)向?qū)Ψ桨l(fā)送消息” 服務(wù)器停止傳輸” ; ( 3)在傳送過程中:如果用戶想中止,通過點(diǎn)擊 Stop 按鈕,這時(shí)由于是在傳送過程中,故終止的函數(shù)設(shè)置 m_bSendEnd 為 true。tm),格式設(shè)置為“年 /東南大學(xué)成賢學(xué)院 第 24 頁 共 44 頁 月 /日 時(shí) /分 /秒” Format(%y/%m/%d %H:%M:%S ),然后在自己對話框上顯示已經(jīng)發(fā)送的消息;最后將記錄保存, fp=fopen(f:\\,ab+)。比如調(diào)用 receive ()函數(shù)讀取網(wǎng)絡(luò)緩沖區(qū)中數(shù)據(jù),不管是否讀到數(shù)據(jù)都立即返回,而不會(huì)一直掛在此函數(shù)調(diào)用上。變量名為 m_ListenSocket 和 m_ConnectSocket。還需東南大學(xué)成賢學(xué)院 第 22 頁 共 44 頁 要向該類中添加一個(gè)能設(shè)置指標(biāo)的方 法,因此添加一個(gè)成員函數(shù)。 SOCKET 建立連接過程 服務(wù)器 客戶端 create(),建立套接字 band(),與本地地址綁定 listen(),準(zhǔn)備好接受連接 accept(),等待接受客戶端連接, receive()接收數(shù)據(jù) Close(),關(guān)閉套接字 send(),發(fā)送數(shù)據(jù) Create(),建立套接字 Connect(IP),與服務(wù)器連接 receive()接收數(shù)據(jù) Close(),關(guān)閉套接字 send()發(fā)送數(shù)據(jù) 東南大學(xué)成賢學(xué)院 第 13 頁 共 44 頁 圖 3. 2 SOCKET 建立連接過程 服務(wù)器創(chuàng)建套接字后,進(jìn)行偵聽,客戶端創(chuàng)建套接字后進(jìn)行連接,一旦建立連接,就可以發(fā)送接收數(shù)據(jù),直到關(guān)閉套接字。 int PASCAL FAR send( SOCKET s, const char FAR *buf,int len, int flags )。 int PASCAL FAR closesocket( SOCKET s )。 服務(wù)器端接受客戶端的連接請求 當(dāng) Client 提出連接請求時(shí), Server 端窗會(huì)收到 Winsock Stack 送來我們自定義的東南大學(xué)成賢學(xué)院 第 10 頁 共 44 頁 一個(gè)消息,這時(shí),我們可以分析 lParam,然后調(diào)用相關(guān)的函數(shù)來處理此事件。該函數(shù)調(diào)用成功返回 0,否則返回 SOCKET_ERROR。此函數(shù)調(diào)用成功返回 Socket 對象,失敗則返回 INVALID_SOCKET(調(diào)用WSAGetLastError()可得知原因,所有 WinSocket 的 API 函數(shù)都可以使用這個(gè)函數(shù)來獲取失敗的原因 )。 東南大學(xué)成賢學(xué)院 第 8 頁 共 44 頁 第三章 具體的設(shè)計(jì)方法 基本的 SOCKET 函數(shù) 為了方便這種 Client/Server 模型的網(wǎng)絡(luò)編程, 90 年代初,由 Microsoft 聯(lián)合了其它幾家公司共同制定了一套 WINDOWS 下的網(wǎng)絡(luò)編程接口,即 Windows Sockets 規(guī)范,它不是一種網(wǎng)絡(luò)協(xié)議 ,而是一套開放的、支持多種協(xié)議的 Windows 下的網(wǎng)絡(luò)編程接口。一旦兩個(gè)應(yīng)用程序建立了連接,它們之間就可以互相發(fā)送和接收消息 。 性能優(yōu)越,支持多線程 WinI 函數(shù)支持多線程,可以在多線程中調(diào)用各種 WinI 函數(shù)而不用擔(dān)心發(fā)生各種并發(fā)問題, WinI 函數(shù)在內(nèi)部處理所有的多線程并發(fā)、死鎖等問題。除了這種進(jìn)程的正常退出方式外,有時(shí)還需要在程序中通過代碼來強(qiáng)制結(jié)束本進(jìn)程或其它進(jìn)程的運(yùn)行。先介紹一下TCP socket 與 UDP socket 在傳送數(shù)據(jù)時(shí)的特性: Stream (TCP) Socket 提供雙向、可靠、有次序、不重復(fù)的數(shù)據(jù)傳送。 DNS 在某些情況下使用 TCP 協(xié)議發(fā)送和接收域名數(shù)據(jù)庫,但使用 UDP 協(xié)議傳送有關(guān)單個(gè)主機(jī)的信息。 東南大學(xué)成賢學(xué)院 第 4 頁 共 44 頁 第二章 通信方案的設(shè)計(jì) TCP 與 UDP 協(xié)議的選擇 TCP 協(xié)議 TCP/IP 通常指的是關(guān)于 TCP 和 IP 的任何東西,它是一個(gè)統(tǒng)稱,它既可以包括其它協(xié)議,其它應(yīng)用程 序,還可以包括網(wǎng)絡(luò)介質(zhì)?!?P2P 給互聯(lián)網(wǎng)的分布、共享精神帶來了無限的遐想。但是過去的 5年里,互聯(lián)網(wǎng)的發(fā)展至少從表面上遠(yuǎn)離了 P2P,互聯(lián)網(wǎng)上絕大部分的節(jié)點(diǎn)也不能和其它節(jié)點(diǎn)直接地交流。 P2P 看起來似乎很新,但是正如 B2C、 B2B 是將現(xiàn)實(shí)世界中很平常的東西移植到互聯(lián)網(wǎng)上一樣, P2P 并不是什么新東西。 Remote control function is the main access to other machines of information, access to each other39??蛻舳?。它的基本功能就是讓用戶能夠在局域網(wǎng)甚至在廣域網(wǎng)上點(diǎn)對點(diǎn)的進(jìn)行交流。東南大學(xué)成賢學(xué)院 第 I 頁 共 44 頁 畢業(yè)設(shè)計(jì)報(bào)告 (論文 ) 題目: 基于 Visual C++的 P2P 文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 所 屬 系 計(jì)算機(jī)系 _ 專 業(yè) 計(jì)算機(jī) 科學(xué)與技術(shù) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 起訖日期 設(shè)計(jì)地點(diǎn) 南京網(wǎng)博 _______ 東南大學(xué)成賢學(xué)院 第 II 頁 共 44 頁 東南大學(xué)成賢學(xué)院畢業(yè)設(shè)計(jì)報(bào)告(論文) 誠 信 承 諾 本人承諾所呈交的畢業(yè)設(shè)計(jì)報(bào)告(論文)及取得的成果是在導(dǎo)師指導(dǎo)下完成,引用他人成果的部分均已列出參考文獻(xiàn)。由于 TCP/IP 連接協(xié)議的服務(wù)是 設(shè)計(jì)客戶端 /服務(wù)器應(yīng)用程序時(shí)的主流標(biāo)準(zhǔn),所以本軟件主要采用 TCP/IP 協(xié)議的網(wǎng)絡(luò)通信技術(shù);客戶端,服務(wù)器類是從 CAsyncSocket 類中繼承來的,因此本軟件通信完全是異步的;程序在 Windows XP 系統(tǒng)、 Visual C++ ,并在 Windows NT100M 以太網(wǎng)上運(yùn)行良好。服務(wù)器 。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é)議的選擇
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1