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

正文內(nèi)容

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

2024-07-25 16:56上一頁面

下一頁面
  

【正文】 本系統(tǒng)可通過網(wǎng)際、網(wǎng)內(nèi),對(duì)服務(wù)器主機(jī)桌面實(shí)現(xiàn)遠(yuǎn)程控制,控制端可以應(yīng)用鼠標(biāo)和鍵盤如同操作本機(jī)一樣控制被控端,這樣可以實(shí)現(xiàn)控制端對(duì)被控端的操作。 顯示界面網(wǎng)格 顯示網(wǎng)格后。當(dāng)程序在一個(gè)窗口中繪圖時(shí),首先建立缺省的繪圖坐標(biāo),原點(diǎn)(0,0)位于窗口用戶區(qū)的左上角。在DOS下編寫過Foxpro程序的讀者常常會(huì)有這樣的體會(huì),在編寫打印報(bào)表程序時(shí),要針對(duì)不同的打印機(jī)在程序中插入不同的打印控制碼,用以控制換頁、字體設(shè)置等選項(xiàng)。用普通的表示方法時(shí),每個(gè)英文字母均占用一個(gè)字節(jié)(byte),即8個(gè)位。 流數(shù)據(jù)的實(shí)現(xiàn)首先啟動(dòng)Sever Remote Control的程序,開啟監(jiān)聽端口,將CLIENT REMOTE CONTROL 連接到服務(wù)器的端口,之后SERVER開啟一個(gè)與客服端通信的線程這個(gè)線程專門負(fù)責(zé)接收和處理客服端發(fā)送過來的消息,并在本機(jī)上執(zhí)行相關(guān)命令。local,sizeof(local)) == SOCKET_ERROR) { sprintf(szString,bind() failed: %d\n, WSAGetLastError())。 dwLen = 0。Server remote control所需要的模塊如下。 nZero = 0。 char szString[81]。根據(jù)系統(tǒng)的實(shí)際需求,設(shè)計(jì)系統(tǒng)客戶端主界面包括遠(yuǎn)程控制選項(xiàng)和幫助選項(xiàng)。UDP雖然效率更高,但是有掉包的情況出現(xiàn),這是本方案所不允許的。其中第一個(gè)字節(jié)規(guī)定了用第二個(gè)字節(jié)指定的顏色重復(fù)次數(shù)。在數(shù)字圖像壓縮中,有3種基本的數(shù)據(jù)冗余:像素相關(guān)冗余,編碼冗余,心理視覺冗余。位圖的一個(gè)像素值所占的字節(jié)數(shù):●當(dāng)biBitCount=1時(shí),8個(gè)像素占1個(gè)字節(jié);●當(dāng)biBitCount=4時(shí),2個(gè)像素占1個(gè)字節(jié);●當(dāng)biBitCount=8時(shí),1個(gè)像素占1個(gè)字節(jié);●當(dāng)biBitCount=24時(shí),1個(gè)像素占3個(gè)字節(jié)。服務(wù)程序調(diào)用accept函數(shù)從處于監(jiān)聽狀態(tài)的流套接字s的客戶連接請(qǐng)求隊(duì)列中取出排在最前的一個(gè)客戶請(qǐng)求,并且創(chuàng)建一個(gè)新的套接字來與客戶套接字創(chuàng)建連接通道,如果連接成功,就返回新創(chuàng)建的套接字的描述符,以后與客戶套接字交換數(shù)據(jù)的是新創(chuàng)建的套接字;如果失敗就返回INVALID_SOCKET。使用無連接協(xié)議的客戶程序必須發(fā)送一個(gè)帶有服務(wù)請(qǐng)求的數(shù)據(jù)報(bào)并等待應(yīng)答,遠(yuǎn)地服務(wù)器的應(yīng)答以數(shù)據(jù)報(bào)的形式到達(dá)。應(yīng)用程序套接字套接字仿真器傳輸驅(qū)動(dòng)程序接口傳輸協(xié)議 套接字通信機(jī)制 Winsock編程模型建立一個(gè)SocketWinsock函數(shù)含有三個(gè)參數(shù),“協(xié)議簇”參數(shù)指明像TCP/IP協(xié)議組這樣的一組相關(guān)協(xié)議,“Socket類型”參數(shù)指明參數(shù)指明程序是進(jìn)行數(shù)據(jù)報(bào)傳輸還是字節(jié)流傳輸,“協(xié)議”參數(shù)定義了協(xié)議簇內(nèi)程序欲使用的具體協(xié)議(如TCP或UDP)。無連接服務(wù)不能保證分組的先后順序,不進(jìn)行分組出錯(cuò)的恢復(fù)與重傳,不保證傳輸?shù)目煽啃浴!绊樞颉笔侵附邮諗?shù)據(jù)順序與發(fā)送數(shù)據(jù)順序相同。剩余的為自由端口,以本地方式進(jìn)行分配。為了解決上述問題,TCP/IP協(xié)議引出了幾個(gè)概念。但其對(duì)線路的占用率相對(duì)提高。相反,它定義像地址解析協(xié)議(Address Resolution Protocol, ARP)這樣的協(xié)議,提供TCP/IP協(xié)議的數(shù)據(jù)結(jié)構(gòu)和實(shí)際物理硬件之間的接口。傳輸層的功能一般包括流控、多路傳輸、虛電路管理及差錯(cuò)校驗(yàn)和恢復(fù)。第5章對(duì)系統(tǒng)進(jìn)行了測(cè)試,包括測(cè)試的環(huán)境、過程和測(cè)試結(jié)論。Socket 屏蔽了底層通信軟件和具體操作系統(tǒng)的差異,使得任何兩臺(tái)安裝了TCP 協(xié)議軟件和實(shí)現(xiàn)了Socket 規(guī)范的計(jì)算機(jī)之間的通信成為可能。理工大學(xué)學(xué)士學(xué)位論文摘 要隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,計(jì)算機(jī)給人類文明帶來了翻天覆地的變化,原來物理上的接口已不能滿足網(wǎng)絡(luò)通信的要求了。Socket接口是TCP/ IP 網(wǎng)絡(luò)最為通用的API(Application Program Interface),也是在Internet 上進(jìn)行應(yīng)用開發(fā)最通用的API。2 Socket網(wǎng)絡(luò)編程的關(guān)鍵技術(shù) Socket網(wǎng)絡(luò)編程理論基礎(chǔ) OSI七層網(wǎng)絡(luò)模型與TCP/IP四層網(wǎng)絡(luò)模型OSI網(wǎng)絡(luò)分層參考模型網(wǎng)絡(luò)協(xié)議設(shè)計(jì)者不應(yīng)當(dāng)設(shè)計(jì)一個(gè)單一、巨大的協(xié)議來為所有形式的通信規(guī)定完整的細(xì)節(jié),而應(yīng)把通信問題劃分成多個(gè)小問題,然后為每一個(gè)小問題設(shè)計(jì)一個(gè)單獨(dú)的協(xié)議,這樣做使得每個(gè)協(xié)議的設(shè)計(jì)、分析、時(shí)限和測(cè)試比較容易。流控管理設(shè)備之間的數(shù)據(jù)傳輸,確保傳輸設(shè)備不發(fā)送比接收設(shè)備處理能力大的數(shù)據(jù);多路傳輸使得多個(gè)應(yīng)用程序的數(shù)據(jù)可以傳輸?shù)揭粋€(gè)物理鏈路上;虛電路由傳輸層建立、維護(hù)和終止;差錯(cuò)校驗(yàn)包括為檢測(cè)傳輸錯(cuò)誤而建立的各種不同結(jié)構(gòu);而差錯(cuò)恢復(fù)包括所采取的行動(dòng)(如請(qǐng)求數(shù)據(jù)重發(fā)),以便解決發(fā)生的任何錯(cuò)誤。第二層:網(wǎng)間層,對(duì)應(yīng)于OSI七層參考模型的網(wǎng)絡(luò)層。流式套接字的實(shí)現(xiàn)屢見不鮮,如遠(yuǎn)程登錄(TELNET)、文件傳輸協(xié)議(FTP)等均使用了流式套接字。(1)端口網(wǎng)絡(luò)中可以被命名和尋址的通信端口,是操作系統(tǒng)可分配的一種資源。TCP和UDP均規(guī)定,小于256的端口號(hào)才能作保留端口。TCP協(xié)議提供這項(xiàng)服務(wù)。UDP協(xié)議提供無連接的數(shù)據(jù)報(bào)服務(wù)。由于編程時(shí)必須指定程序使用的協(xié)議簇,因而能夠?yàn)槭褂貌煌瑓f(xié)議組和地址格式的網(wǎng)絡(luò)建立相同的接口。Winsock用bind函數(shù)給Socket指定一個(gè)本地IP地址和一個(gè)協(xié)議端口,其典型調(diào)用如下:result=bind(“Socket句柄”,“本地Socket地址”,“本地Socket地址長(zhǎng)度”);服務(wù)器程序使用bind函數(shù)用Winsock登記一個(gè)協(xié)議端口,程序告訴Winsock監(jiān)視哪一個(gè)協(xié)議端口的數(shù)據(jù)傳送,Winsock接著告訴傳輸層將此協(xié)議端口收到的數(shù)據(jù)傳送給Winsock。該函數(shù)的第一個(gè)參數(shù)指定處于監(jiān)聽狀態(tài)的流套接字;操作系統(tǒng)利用第二個(gè)參數(shù)來返回新創(chuàng)建的套接字的地址結(jié)構(gòu);操作系統(tǒng)利用第三個(gè)參數(shù)來返回新創(chuàng)建的套接字的地址結(jié)構(gòu)的長(zhǎng)度。Windows規(guī)定下個(gè)掃描行所占的字節(jié)數(shù)必須是4的倍數(shù)(即以long為單位),不足的以0填充。如果能減少或消除其中的一種或多種冗余,就能取得數(shù)據(jù)壓縮的效果。如編碼 0504表示從當(dāng)前位置開始連續(xù)顯示5個(gè)顏色值為04的像素。通過Socket傳遞的虛擬消息結(jié)構(gòu)體到對(duì)端,被對(duì)端主機(jī)解釋并虛擬,最終達(dá)到程序目的。 客戶端主界面客戶端菜單欄,遠(yuǎn)程控制選項(xiàng)界面包括服務(wù)器連接,斷開服務(wù)器,數(shù)據(jù)壓縮,網(wǎng)格空間數(shù)目,色彩模式選擇,退出選項(xiàng)。 char szMessage[81]。 setsockopt(sClient,SOL_SOCKET,SO_RCVBUF,(char *)amp。網(wǎng)絡(luò)模塊:負(fù)責(zé)監(jiān)聽客服端的連接,負(fù)責(zé)接收并處理客服端發(fā)過來的消息命令,在本機(jī)上處理這些消息并發(fā)送各種數(shù)據(jù),如屏幕數(shù)據(jù),命令反饋數(shù)據(jù)等,到客服端監(jiān)聽程序。 nRet = WSAEnumProtocols(NULL,NULL,amp。 MessageBox(NULL,szString,Remote Server,MB_OK)。然后將當(dāng)前改變區(qū)域的屏幕的內(nèi)容發(fā)送到客服端。二者相比,e使用了一般編碼的1/8的長(zhǎng)度,z則使用了 3倍多。這樣的程序編寫起來繁瑣,而且不容易移植(因?yàn)閾Q一臺(tái)不同型號(hào)的打印機(jī)就要重新修改程序)。每個(gè)窗口必須獨(dú)立的維護(hù)自己的輸出。 顯示網(wǎng)格將水平網(wǎng)格數(shù),垂直網(wǎng)格數(shù),分別改為原來的二倍。本系統(tǒng)目前使用效果良好。本文設(shè)計(jì)并實(shí)現(xiàn)了分塊截取屏幕的算法,應(yīng)用這一算法可以減少需要傳送的數(shù)據(jù)量,大大的降低了網(wǎng)絡(luò)的負(fù)載,同時(shí)又能及時(shí)準(zhǔn)確地真實(shí)再現(xiàn)被控端當(dāng)前的屏幕信息。 服務(wù)器待接收文件點(diǎn)擊遠(yuǎn)程控制,選擇網(wǎng)格空間數(shù)目選項(xiàng)。GDI的圖形輸出是面向窗口的,面向窗口包含兩層含義:(1)每個(gè)窗口作為一個(gè)獨(dú)立的繪圖接口來處理,有它自己的繪圖坐標(biāo)。Windows下的輸出是設(shè)備無關(guān)的。當(dāng)利用哈夫曼編碼對(duì)一篇英文進(jìn)行壓縮時(shí),e極有可能用一個(gè)位(bit)來表示,而z則可能花去 25個(gè)位(不是26)。應(yīng)用程序可以調(diào)用GetMessageExtraInfo獲得這些額外信息。 if (bind(Listen,(struct sockaddr *)amp。 struct myStruct myStructure。根據(jù)這個(gè)思想,需要兩個(gè)獨(dú)立的程序,SERVER REMOTE CONTROL和CLIENT REMOTE CONTROL。 if (sClient == INVALID_SOCKET) return 1。 WSAPROTOCOL_INFO Protocol。4 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 界面設(shè)計(jì) 客戶端界面界面是系統(tǒng)功能得以實(shí)現(xiàn)的基本平臺(tái),這里充分利用VC++。該程序采用TCP協(xié)議,因?yàn)榱骺睾筒羁氐拇嬖谑沟脗鬏敻哂蟹€(wěn)定性。該壓縮方法編碼也是以兩個(gè)字節(jié)為基本單位。假如用n1和n2分別代表用來表達(dá)相同信息的2個(gè)數(shù)據(jù)集合中的信息載體單位的個(gè)數(shù),那么壓縮率CR為:Cr=nl/n2,一般情況下Cr在開區(qū)間(0,+∞)中取值。位圖信息頭和顏色表組成位圖信息,B1TMAPINFO結(jié)構(gòu)定義如下:typcdefstruct tagBITMAPINFO{BITMAPINFoHEADER bmiIIeader; ∥位圖信息頭RGBQUAD bmiColors; ∥顏色表}BITMAPINFO;(4)位圖數(shù)據(jù)位圖數(shù)據(jù)記錄了位圖的每一個(gè)像素值,記錄順序是掃描行內(nèi)從左到右,掃描行之問從下到上。假如該函數(shù)執(zhí)行成功,則返回0;如果執(zhí)行失敗,則返回SOCKET_ERROR。無連接協(xié)議不建立與遠(yuǎn)地服務(wù)器的直接連接。根據(jù)通信性質(zhì)不同可分為:Stream Sockets(流式套接字)和Datagram Sockets(數(shù)據(jù)報(bào)套接字),其中Stream Sockets提供無差錯(cuò)的、面向連接的、無長(zhǎng)度限制的雙向字節(jié)流傳輸,適應(yīng)于處理大量數(shù)據(jù),尤其適合于FTP服務(wù)。 無連接服務(wù)是郵政系統(tǒng)服務(wù)的抽象,每個(gè)分組都攜帶完整的目的地址,各分組在系統(tǒng)中獨(dú)立傳送。(7)順序在網(wǎng)絡(luò)傳輸中,兩個(gè)連續(xù)報(bào)文在端-端通信中可能經(jīng)過不同路徑,這樣到達(dá)目的地時(shí)的順序可能會(huì)與發(fā)送時(shí)不同。因此,每一個(gè)標(biāo)準(zhǔn)服務(wù)器都擁有一個(gè)全局公認(rèn)的端口(即周知口,wellknown port),即使在不同的機(jī)器上,其端口號(hào)也相同。因此,網(wǎng)間進(jìn)程通信還要解決多重協(xié)議的識(shí)別問題。這對(duì)數(shù)據(jù)的穩(wěn)定性、正確性和發(fā)送/接收順序要求嚴(yán)格的應(yīng)用十分適用,TCP協(xié)議使用該類接口。實(shí)際上TCP/IP標(biāo)準(zhǔn)并不定義與ISO數(shù)據(jù)鏈路層和物理層相對(duì)應(yīng)的功能。第四層:傳輸層,向高層提供可靠的端到端的網(wǎng)絡(luò)數(shù)據(jù)流服務(wù)。詳細(xì)設(shè)計(jì)包括了界面設(shè)計(jì),客戶端模塊設(shè)計(jì)與實(shí)現(xiàn),服務(wù)器模塊設(shè)計(jì)與實(shí)現(xiàn),消息模擬功能的實(shí)現(xiàn),流數(shù)據(jù)的實(shí)現(xiàn),圖形編碼等。如果兩臺(tái)計(jì)算機(jī)是利用一個(gè)“通道”進(jìn)行通信,那么這個(gè)“通道”的兩端就是套接字。TCP/IP(Transmission Control Protocol/Internet Protocol)協(xié)議作為網(wǎng)絡(luò)通信的基本協(xié)議就解決了這一通信難題,它引入了一種稱之為“Socket”的應(yīng)用程序接口。 課題的國(guó)內(nèi)外研究現(xiàn)狀基于Socket的網(wǎng)絡(luò)編程技術(shù)在人們不斷的研究和探索下,日益的完善與成熟,已被廣泛的應(yīng)用在通信,醫(yī)療等各個(gè)領(lǐng)域。協(xié)議劃分的一個(gè)主要原則是確保目標(biāo)系統(tǒng)有效且效率高。傳輸控制協(xié)議(TCP)是提供可靠數(shù)據(jù)傳輸?shù)腡CP/IP協(xié)議族中的傳輸層協(xié)議。本層包含IP協(xié)議、RIP協(xié)議(Routing Information Protocol,路由信息協(xié)議),負(fù)責(zé)數(shù)據(jù)的包裝、尋址和路由。數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM):數(shù)據(jù)報(bào)式套接字提供了面向無連接的服務(wù) , 它獨(dú)立的數(shù)據(jù)包形式發(fā)送數(shù)據(jù)( 數(shù)據(jù)包長(zhǎng)度不能大于32KB),不提供正確性檢查,也不保證各數(shù)據(jù)包的發(fā)送順序,因此,可能出現(xiàn)數(shù)據(jù)的重發(fā)、丟失等現(xiàn)象,并且接收順序由具體路由決定。 按照OSI七層協(xié)議的描述,傳輸層與網(wǎng)絡(luò)層在功能上的最大區(qū)別是傳輸層提供進(jìn)程通信能力。(2)地址網(wǎng)絡(luò)通信中通信的兩個(gè)進(jìn)程分別運(yùn)行在不同的機(jī)器上。(8)流控制在數(shù)據(jù)傳輸過程中控制數(shù)據(jù)傳輸速率的一種機(jī)制,以保證數(shù)據(jù)不被丟失。 Windows Socket網(wǎng)絡(luò)編程技術(shù) Winsock簡(jiǎn)介為了方便網(wǎng)絡(luò)編程,Microsoft聯(lián)合了其他幾家公司共同制定了一套Windows下的網(wǎng)絡(luò)編程接口,即Windows Sockets規(guī)范,它不是一種網(wǎng)絡(luò)協(xié)議,而是一套開放的、支持多種協(xié)議的Windows下的網(wǎng)絡(luò)編程接口。也就是說,本函數(shù)的正確調(diào)用可使Winsock接口運(yùn)行在多個(gè)網(wǎng)絡(luò)上。使用Socket使用Socket之前必須調(diào)用WSAStartup函數(shù)。 圖像技術(shù)Windows系統(tǒng)不允許應(yīng)用程序直接訪問視頻存儲(chǔ)區(qū),而是提供了一個(gè)抽象的接口,稱作圖形設(shè)備接口(GDI)。一個(gè)掃描行所占的字節(jié)數(shù)計(jì)算方法:DataSizePerLin=(biWidth*biBitCount+31)/8;∥一個(gè)掃描行所占的字節(jié)數(shù)DataSizePcrLincr=DataSizePerLine/4*4;∥字節(jié)數(shù)必須是4的倍數(shù)位圖數(shù)據(jù)的大?。ú粔嚎s情況下)DataSize=DataSizePerLine*biHeight; 圖像壓縮編碼解碼位圖原稿數(shù)字化后的數(shù)據(jù)量非常驚人,在硬盤上存儲(chǔ)時(shí)頗占地盤,并給傳輸帶來了很多不便,所以圖像壓縮得到了廣泛的運(yùn)用。 霍夫曼壓縮霍夫曼是1952年為文本文件建立的,其基本原理是頻繁使用的數(shù)據(jù)用較短的代碼代替,很少使用的數(shù)據(jù)用較長(zhǎng)的代碼代替,每個(gè)數(shù)據(jù)的代碼各不相同。當(dāng)?shù)诙€(gè)字節(jié)為零時(shí)第二個(gè)字節(jié)有特殊含義:0表示行末;1表示圖末;2轉(zhuǎn)義后面2個(gè)字節(jié), 這兩個(gè)字節(jié)分別表示下一像素相對(duì)于當(dāng)前位置的水平位移和垂直位移。 可行性技術(shù)方案 技術(shù)可行性本次開發(fā)所用到的一系列的技術(shù)已是累積了幾十年的技術(shù),這些技術(shù)在這么多年的發(fā)展中并沒有被淘汰,反而是
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1