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

正文內(nèi)容

基于socket的網(wǎng)絡(luò)編程技術(shù)及其實現(xiàn)學(xué)士學(xué)位論文(文件)

2025-07-06 16:56 上一頁面

下一頁面
 

【正文】 心與系統(tǒng)相連的顯示卡的類型,可以通過調(diào)用GDI函數(shù)來和硬件打交道。Windows系統(tǒng)內(nèi)部各圖像繪制操作都是以BMP為基礎(chǔ)的。(1)BMP文件頭BMP文件頭數(shù)據(jù)結(jié)構(gòu)含有BMP文件的類型、文件大小和位圖起始位置等信息。位圖信息頭和顏色表組成位圖信息,B1TMAPINFO結(jié)構(gòu)定義如下:typcdefstruct tagBITMAPINFO{BITMAPINFoHEADER bmiIIeader; ∥位圖信息頭RGBQUAD bmiColors; ∥顏色表}BITMAPINFO;(4)位圖數(shù)據(jù)位圖數(shù)據(jù)記錄了位圖的每一個像素值,記錄順序是掃描行內(nèi)從左到右,掃描行之問從下到上。壓縮的目的就是滿足存儲容量和傳輸帶寬的要求,而付出的代價是大量的計算。利用前一個事實的壓縮技術(shù)就是無損壓縮技術(shù),即壓縮后的圖像數(shù)據(jù)還原后與未壓縮時嚴(yán)格相同,沒有失真,如TIFF圖像文件格式;利用后一個事實的壓縮技術(shù)就是有損壓縮技術(shù),即壓縮后的圖像數(shù)據(jù)與未壓縮時有所不同,但不影晌人們對原始資料表達(dá)的信息造成誤解,如JPEG圖像文件格式。 圖像壓縮編碼對圖像采用不同的表達(dá)方式以減小表示圖像所需的數(shù)據(jù)量,所以也常稱為數(shù)據(jù)壓縮。假如用n1和n2分別代表用來表達(dá)相同信息的2個數(shù)據(jù)集合中的信息載體單位的個數(shù),那么壓縮率CR為:Cr=nl/n2,一般情況下Cr在開區(qū)間(0,+∞)中取值。這些代碼都是二進(jìn)制碼,且碼的長度是可變的。它使用預(yù)先二進(jìn)制描述來替換每個符號,長度由特殊符號出現(xiàn)的頻率決定。例如:aaabccccccddeee,則可用3a1b6c2d3e來代替。該壓縮方法編碼也是以兩個字節(jié)為基本單位。這種壓縮方法所能壓縮的圖像像素位數(shù)最大為8位(256色)圖像。這種方法還是非常有效的。該程序允許你利用你的鼠標(biāo)和鍵盤來控制其他的計算機遠(yuǎn)程。該程序采用TCP協(xié)議,因為流控和差控的存在使得傳輸更具有穩(wěn)定性。當(dāng)初遠(yuǎn)程控制這門技術(shù)在DOS時代就已經(jīng)存在,只是受網(wǎng)絡(luò)的制約,但是此時這門技術(shù)還是受網(wǎng)絡(luò)技術(shù)制約著。 系統(tǒng)的基本框架,在支持TCP/IP協(xié)議的網(wǎng)絡(luò)中,本地計算機與遠(yuǎn)程主機通過物理網(wǎng)絡(luò)相連。Socket通過TCP/IP協(xié)議實現(xiàn)兩端計算機的數(shù)據(jù)通信。4 系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn) 界面設(shè)計 客戶端界面界面是系統(tǒng)功能得以實現(xiàn)的基本平臺,這里充分利用VC++。 數(shù)據(jù)壓縮選項網(wǎng)格空間數(shù)目選項界面,添加文本控件,編輯文本控件,單項選擇按鈕,確定按鈕,默認(rèn)值按鈕,取消按鈕。 服務(wù)器主界面服務(wù)器選項界面,包括開啟服務(wù)器,終止服務(wù),退出選項??蛻舳藢崿F(xiàn)代碼int LoadWinsock(HWND hWnd,char *szIP){ WSADATA wsd。 WSAPROTOCOL_INFO Protocol。wsd) != 0) { MessageBox(NULL,hehe,Client Socket Error,MB_OK)。dwLen)。dwLen,amp。 if (sClient == INVALID_SOCKET) return 1。 = AF_INET。server,sizeof(server)) == SOCKET_ERROR) { memset(szString,39。 MessageBox(NULL,szString,Client Socket Error,MB_OK)。根據(jù)這個思想,需要兩個獨立的程序,SERVER REMOTE CONTROL和CLIENT REMOTE CONTROL。這個模塊是根據(jù)客戶端的要求來采用具體的編碼解碼方法的。 int nRet。 DWORD dwThreadId。 struct myStruct myStructure。 if (nRet == SOCKET_ERROR) { if (WSAGetLastError() != WSAENOBUFS) return 1。Protocol)。 return 1。 if (bind(Listen,(struct sockaddr *)amp。 } listen(Listen,SOMAXCONN)。這樣的技術(shù)被稱為消息模擬。Dx:定義沿著X軸的絕對位置Dy:定義沿著Y軸的絕對位置dwData:如果dwFlags包括了MOUSEEVENTF_WHEEL的標(biāo)志,則dwData定義鼠標(biāo)滾輪的運動數(shù)量。應(yīng)用程序可以調(diào)用GetMessageExtraInfo獲得這些額外信息。這些操作會通過SOCKET傳給服務(wù)器端。 圖形編碼該程序數(shù)據(jù)圖型編碼采用的是C庫中的哈夫曼壓縮編碼技術(shù),下面稍作解釋以下:哈夫曼編碼的原理是:一個符號發(fā)生頻率越高,其碼長越短,反之則越長。在計算機信息處理中,“哈夫曼編碼”是一種一致性編碼法(又稱“熵編碼法”),用于數(shù)據(jù)的無損耗壓縮。當(dāng)利用哈夫曼編碼對一篇英文進(jìn)行壓縮時,e極有可能用一個位(bit)來表示,而z則可能花去 25個位(不是26)。下面在補充介紹下WINDOWS圖形輸入輸出處理對象GDI。Windows程序的所有輸出都是圖形。printf(“This is DOS program.\n”)。Windows下的輸出是設(shè)備無關(guān)的。GDI屏蔽了不同設(shè)備的差異,提供了設(shè)備無關(guān)的圖形輸出能力,Windows應(yīng)用程序只要發(fā)出設(shè)備無關(guān)的GDI請求(如調(diào)用Rectangle畫一個矩形),由GDI去完成實際的圖形輸出操作。GDI提供兩種基本服務(wù):創(chuàng)建圖形輸出和存儲圖象。前兩者是物理設(shè)備,后兩者是偽設(shè)備。GDI的圖形輸出是面向窗口的,面向窗口包含兩層含義:(1)每個窗口作為一個獨立的繪圖接口來處理,有它自己的繪圖坐標(biāo)。即使想越出邊界,也是不可能的,窗口會自動的防止其他窗口傳過來的任何像素。選擇另一臺主機安裝客戶端程序,作為客戶機。 選擇服務(wù)器模式在主機B上運行客戶端程序,點擊遠(yuǎn)程控制選項,并選擇連接服務(wù)器。 服務(wù)器待接收文件點擊遠(yuǎn)程控制,選擇網(wǎng)格空間數(shù)目選項。 服務(wù)器向客戶端傳文件 鼠標(biāo)鍵盤功能測試滑動鼠標(biāo),并右擊被控端桌面的文件夾。 開啟攝像頭打開桌面迅雷視頻播放器??蛻舳说氖髽?biāo),可自由在服務(wù)器方移動,實現(xiàn)鼠標(biāo)的正常功能,測試中,鼠標(biāo)成功打開服務(wù)器房文件夾,攝像頭,和視頻播放器,成功實現(xiàn)遠(yuǎn)程控制,并可通過攝像頭實時監(jiān)控服務(wù)器端的具體情況。本文設(shè)計并實現(xiàn)了分塊截取屏幕的算法,應(yīng)用這一算法可以減少需要傳送的數(shù)據(jù)量,大大的降低了網(wǎng)絡(luò)的負(fù)載,同時又能及時準(zhǔn)確地真實再現(xiàn)被控端當(dāng)前的屏幕信息。致 謝感謝我的論文指導(dǎo)老師,在本論文寫作的過程中得到了老師的幫助和鼓勵。感謝我大學(xué)里的所有老師,是你們提高了我的素質(zhì)修養(yǎng),豐富了我的人生閱歷,教會了我書本上學(xué)不到的知識,沒有你們無私的付出,我永遠(yuǎn)會在無知的迷茫中徘徊躊躇。在我今后的人生道路中,我將一直謹(jǐn)記老師對我的教導(dǎo)。本系統(tǒng)目前使用效果良好。首先研究了網(wǎng)絡(luò)編程的理論基礎(chǔ)以及遠(yuǎn)程控制系統(tǒng)涉及到的關(guān)鍵技術(shù),系統(tǒng)需要通過Windows Socket技術(shù)和TCP/IP下的C/S(客戶端/服務(wù)器)架構(gòu)進(jìn)行Socket連接,在傳輸桌面信息時,要通過圖像編碼技術(shù)對圖像進(jìn)行壓縮處理,主要的方法包括,霍夫曼壓縮,多變霍夫曼壓縮,Run Length編碼壓縮等。 視頻播放 測試結(jié)果服務(wù)器開啟后,客戶端可實現(xiàn)連接,連接成功后,客戶端顯示服務(wù)器端的桌面情況,客戶端可隨時改變數(shù)據(jù)壓縮方式,并可選擇不壓縮,客戶端還可以選擇色彩模式,256色的明顯比16色模式要清晰,分辨率提高。 打開文件夾,并選擇攝像頭功能。 顯示網(wǎng)格將水平網(wǎng)格數(shù),垂直網(wǎng)格數(shù),分別改為原來的二倍。 顯示服務(wù)器桌面點擊遠(yuǎn)程控制選項,選擇色彩模式選項,默認(rèn)為16色屏幕模式,改為256色。 系統(tǒng)功能和性能測試 客戶端顯示測試在主機A運行服務(wù)器程序。5 系統(tǒng)實施及測試 測試環(huán)境搭建本系統(tǒng)測試的網(wǎng)絡(luò)環(huán)境為100M的以太網(wǎng)。每個窗口必須獨立的維護(hù)自己的輸出。位圖存放的是圖形的點位信息,占用較多的內(nèi)存,但速度很快。這些繪圖函數(shù)分為三類:一是文字輸出,二是矢量圖形函數(shù),用于畫線、圓等幾何圖形,三是光柵(位圖)圖形函數(shù),用于繪制位圖。當(dāng)然,這兩種輸出在用戶看來并沒有什么區(qū)別。這樣的程序編寫起來繁瑣,而且不容易移植(因為換一臺不同型號的打印機就要重新修改程序)。因為Windows輸出是基于圖形的,它輸出文本時不會象DOS那樣自動換行,而必須以像素為單位精確定位每一行的輸出位置。而Windows的每一個應(yīng)用程序?qū)ζ聊坏囊徊糠诌M(jìn)行處理。二者相比,e使用了一般編碼的1/8的長度,z則使用了 3倍多。這張編碼表的特殊之處在于,它是根據(jù)每一個源字符出現(xiàn)的估算概率而建立起來的(出現(xiàn)概率高的字符使用較短的編碼,反之出現(xiàn)概率低的則使用較長的編碼,這便使編碼之后的字符串的平均期望長度降低,從而達(dá)到無損壓縮數(shù)據(jù)的目的)。 打個不恰當(dāng)?shù)谋确?,現(xiàn)在用的最多的幾個漢字“個”“的”“們”“什”“么”什么的筆畫不是都很少嗎?這就是文字演變的規(guī)律,也就是哈夫曼編碼的原理。需要注意的是,服務(wù)器端刷屏的時候并不是將整個屏幕都傳給客服端,因為整個屏幕圖片的數(shù)據(jù)量比較大,當(dāng)前網(wǎng)絡(luò)負(fù)載也不是很穩(wěn)定的條件下,該程序是很不穩(wěn)定的。然后將當(dāng)前改變區(qū)域的屏幕的內(nèi)容發(fā)送到客服端。負(fù)值表示滾輪向后旋轉(zhuǎn)。相關(guān)的功能函數(shù)介紹如下:1 、Keybd_event函數(shù)VOID key_event(BYTE bvk,BYTE bScan,DWORD dwFlags,ULONG_PTR dwExtraInfo)bVk:定義了一個虛擬鍵碼,它的范圍是1~254bScan:保留dwFlags:定義函數(shù)操作類型,按下或彈起DwExtraInfo:定義了擊鍵的額外關(guān)聯(lián)值程序中想要模擬PRINTSCRN的消息,去抓取屏幕的內(nèi)容并將其保存到剪切板中,那么可以將參數(shù)BVK設(shè)置為VK_SNAPSHOT。 消息模擬功能的實現(xiàn)在一般的應(yīng)用程序中,用戶敲擊鍵盤或者鼠標(biāo)的消息都是直接首先被外設(shè)的驅(qū)動程序所截獲,然后外設(shè)的驅(qū)動程序?qū)⑦@些消息加入系統(tǒng)的消息隊列中,這樣應(yīng)用程序可以從消息隊列中得到該消息并進(jìn)行相應(yīng)的處理。 MessageBox(NULL,szString,Remote Server,MB_OK)。 = AF_INET。 if (Listen == SOCKET_ERROR) { sprintf(szString,socket() failed: %d,WSAGetLastError())。 // 為WSASocketGet() nRet = SelectProtocols(SETFLAGS,NOTSETFLAGS,(LPWSAPROTOCOL_INFO)pBuf,amp。 nRet = WSAEnumProtocols(NULL,NULL,amp。 char szString[255]。 int iAddrSize。服務(wù)器端代碼DWORD WINAPI LoadWinsock(LPVOID lpParam){ LPBYTE pBuf。網(wǎng)絡(luò)模塊:負(fù)責(zé)監(jiān)聽客服端的連接,負(fù)責(zé)接收并處理客服端發(fā)過來的消息命令,在本機上處理這些消息并發(fā)送各種數(shù)據(jù),如屏幕數(shù)據(jù),命令反饋數(shù)據(jù)等,到客服端監(jiān)聽程序。 }客戶端代碼流程就相對于簡單明了一些,我們只需要建立一個套接字,然后與服務(wù)器去做連接,最后等待返回就行了。,sizeof(szString))。 = inet_addr(szIP)。 setsockopt(sClient,SOL_SOCKET,SO_RCVBUF,(char *)amp。 free(pBuf)。 } pBuf = malloc(dwLen)。 } dwLen = 0。 char szMessage[81]。 int nRet,nZero。 開啟服務(wù)器選項 客戶端模塊設(shè)計與實現(xiàn)客戶端實現(xiàn)原理網(wǎng)絡(luò)模塊:負(fù)責(zé)連接到服務(wù)器的監(jiān)聽Socket;負(fù)責(zé)向服務(wù)器發(fā)送各種操作命令,如鼠標(biāo),鍵盤,各種參數(shù)消息等命令。 色彩模式選項連接服務(wù)器選項界面,添加兩個靜態(tài)文本控件,用于標(biāo)識IP地址和號,編輯文本控件,輸入端口號和IP地址,一個缺點按鈕,一個取消按鈕。 客戶端主界面客戶端菜單欄,遠(yuǎn)程控制選項界面包括服務(wù)器連接,斷開服務(wù)器,數(shù)據(jù)壓縮,網(wǎng)格空間數(shù)目,色彩模式選擇,退出選項。建立連接是連接服務(wù)器連接成功顯示遠(yuǎn)程桌面實施遠(yuǎn)程控制 圖像壓縮 鍵盤控制 鼠標(biāo)控制 顯示網(wǎng)格改變色彩模式否啟動監(jiān)聽服務(wù)器客戶端Socket識別遠(yuǎn)程消息發(fā)送桌面信息響應(yīng)控制消息響應(yīng)鍵盤消息響應(yīng)鼠標(biāo)消息發(fā)送發(fā)送 系統(tǒng)流程圖 模塊劃分及功能設(shè)計總體功能結(jié)構(gòu)包括主控端(客戶端)和被控端(服務(wù)器)兩大部分。兩端的程序通過套接字Socket建立連接。但是本程序在局域網(wǎng)中是完全能夠?qū)崿F(xiàn)的,而且本程序也是專門為企業(yè)網(wǎng)內(nèi)部所設(shè)計,因為數(shù)據(jù)信息沒被加密,如果想走Internet,則需建立VPN。通過Socket傳遞的虛擬消息結(jié)構(gòu)體到對端,被對端主機解釋并虛擬,最終達(dá)到程序目的。 可采用的技術(shù)方案遠(yuǎn)程監(jiān)控系統(tǒng)的實現(xiàn)主要采用了套接字這項技術(shù)和虛擬鼠標(biāo)鍵盤消息的API,在大多數(shù)情況下套接字是底層傳輸代碼的必選技術(shù)。這是當(dāng)遠(yuǎn)程訪問軟件出場的時候了,它能幫助你訪問遠(yuǎn)程計算機就像訪問自
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1