




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于cs模式下云打印系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)版權(quán)聲明任何收存和保管本論文各種版本的單位和個(gè)人,未經(jīng)本論文作者同意,不得將本論文轉(zhuǎn)借他人,亦不得隨意復(fù)制、抄錄、拍照或以任何方式傳播。否則,引起有礙作者著作權(quán)之問(wèn)題,將可能承擔(dān)法律責(zé)任。原創(chuàng)性聲明本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的作品或成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明,本聲明的法律結(jié)果由本人承擔(dān)。論文作者簽名: 日期: 年 月 日基于c/s模式下云打印系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)f u(安康學(xué)院電子信息工程系,
2、陜西安康,725000)摘 要 隨著“云”概念地引入,在對(duì)“云”概念理解基礎(chǔ)上,為了解決傳統(tǒng)聯(lián)機(jī)打印(網(wǎng)絡(luò)共享打印)的不足之處,同時(shí)高效率地解決繁瑣的打印任務(wù),云打印地實(shí)現(xiàn)有著重要的意義。論文中研究基于c/s模式下系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),在數(shù)據(jù)收發(fā)基礎(chǔ)上了增加了客戶(hù)端對(duì)數(shù)據(jù)地加密和服務(wù)器端對(duì)接收的文件,文件名稱(chēng)和大小創(chuàng)建內(nèi)存映射表并排序輸出給打印機(jī)的功能,以vc+6.0為開(kāi)發(fā)工具,采用windows的核心編程技術(shù)內(nèi)存管理和多線程操作對(duì)數(shù)據(jù)進(jìn)行高效處理,在windowsxp平臺(tái)完成云打印的功能。為了確保數(shù)據(jù)安全完整和服務(wù)器高效地處理大量的數(shù)據(jù),著重研究了網(wǎng)絡(luò)通訊的數(shù)據(jù)安全和內(nèi)存管理、內(nèi)存映射技術(shù)。在檢
3、測(cè)客戶(hù)端和云端服務(wù)器數(shù)據(jù)是否有變更時(shí),采用md5技術(shù)生成服務(wù)器中存放文件的md5摘要和最新的客戶(hù)端測(cè)到得md5摘要對(duì)比,確保數(shù)據(jù)完整。在服務(wù)器接收大量數(shù)據(jù)的時(shí)候,對(duì)文件名和大小創(chuàng)建內(nèi)存映射表,然后通過(guò)對(duì)內(nèi)存地址地訪問(wèn),來(lái)訪問(wèn)數(shù)據(jù),實(shí)現(xiàn)了高效和快速處理數(shù)據(jù)的功能。經(jīng)測(cè)試,系統(tǒng)運(yùn)行正常、良好,能夠?qū)崿F(xiàn)云打印功能。 關(guān)鍵詞 c/s模式;數(shù)字簽名;內(nèi)存映射表design and implementation of the cloud print system based on c/s mode jing qi(department of electronic and information engin
4、eering,ankang university,ankang,725000)abstract with the introduction of the cloud consept,the implementation of the cloud printing based on the understanding of the cloud concept has an important significance ,which is used to solve the inadequacies of the the traditional online printing (shared ne
5、twork printing) and complicated printing tasks efficiently.the paper design and mplementation of the cloud print system based on c/s mode .it adds the function of the encryption of the data by the client and creating a memory mapping table output to the print queue based on the received text ,which
6、uses the vc+ 6.0 as a tool and adopts windowss core programming technology of memory management and multi-threaded operation to deal with the data efficiently.it complete cloud printing in windowsxp platform. to ensure the security of data network communication and servers processing large amounts o
7、f data efficiently,the paper focuses on digital signature technology and the techniques of memory management and memory mapping .when detecting whether the data of the client and the server changes or not,it compares md5 summaries used md5 technology to generate files stored in the server wite md5 s
8、ummaries measured by the latest client to ensure the integrity of the data .when the server receives large amounts of data, it creates a memory mapping table on the file name and size .then it obtains the data by visiting the memory address,achieving the function of dealing with the data quickly and
9、 efficiently. after testing, the system is operating normally and can achieve the function of cloud printing .key words c/s mode; digital signature;memory mapping table目 錄1緒論11.1課題背景與提出11.2 國(guó)內(nèi)外研究現(xiàn)狀11.3研究的目的和意義22系統(tǒng)可行性分析32.1技術(shù)可行性32.1.1 網(wǎng)絡(luò)通訊的設(shè)計(jì)原理32.1.2客戶(hù)端機(jī)與服務(wù)器模型52.1.3網(wǎng)絡(luò)通信的數(shù)據(jù)安全62.1.4內(nèi)存管理,內(nèi)存映射技術(shù)82.1.5虛擬打
10、印技術(shù)82.2操作可行性92.3經(jīng)濟(jì)可行性92.4小結(jié)93 系統(tǒng)分析與設(shè)計(jì)103.1系統(tǒng)開(kāi)發(fā)工具及簡(jiǎn)介103.2 系統(tǒng)總體框架113.2.1設(shè)計(jì)流程圖113.2.2 系統(tǒng)類(lèi)圖123.3 功能模塊設(shè)計(jì)133.3.1 基本功能模塊133.3.2 服務(wù)器和客戶(hù)端時(shí)序圖143.4 小結(jié)164系統(tǒng)實(shí)現(xiàn)174.1系統(tǒng)開(kāi)發(fā)環(huán)境174.2系統(tǒng)各功能模塊的實(shí)現(xiàn)175系統(tǒng)測(cè)試235.1系統(tǒng)測(cè)試目的與意義235.2測(cè)試過(guò)程235.3測(cè)試結(jié)果255.4問(wèn)題及解決276 總結(jié)與展望28參考文獻(xiàn)30致 謝32 1緒論1.1課題背景與提出 目前傳統(tǒng)的打印模式,基本處于人工管理階段,缺乏有效的管理手段和工具,造成打印資源浪費(fèi)
11、,而且對(duì)打印文件沒(méi)有進(jìn)行必要的安全處理,使打印機(jī)密泄漏。在如今這個(gè)信息化管理的時(shí)代,網(wǎng)絡(luò)調(diào)度打印是未來(lái)發(fā)展的趨勢(shì),因?yàn)樗鼪](méi)有地域的限制,不需要手持打印文件,去尋找打印終端,只需要一款合適的軟件,就可以達(dá)到網(wǎng)絡(luò)傳輸文件給遠(yuǎn)程打印終端實(shí)現(xiàn)打印的目的,簡(jiǎn)單安全,推動(dòng)了打印行業(yè)的發(fā)展,符合了更多企業(yè)和部門(mén)的打印要求。傳統(tǒng)的打印方式最直觀的打印方式就是打印共享。一臺(tái)打印機(jī)連接在網(wǎng)絡(luò)上,單位有很多電腦都可以遠(yuǎn)程操控打印機(jī)來(lái)打印文檔,但是假如現(xiàn)在有急事,想要優(yōu)先打印,那么就得提升權(quán)限為單機(jī)共享,可是這樣妨礙了別的人對(duì)打印機(jī)的使用,同時(shí)如果打印任務(wù)龐大,會(huì)阻塞更多的等候打印的任務(wù)。在短時(shí)間內(nèi)效率不高,使打印資
12、源浪費(fèi)。本文通過(guò)網(wǎng)絡(luò)調(diào)度打印這種方式,來(lái)實(shí)現(xiàn)打印資源的合理分配,其次減少了大量的人為操作,只需要通過(guò)客戶(hù)端對(duì)文件的提取和發(fā)送給遠(yuǎn)程服務(wù)器,遠(yuǎn)程服務(wù)器會(huì)自動(dòng)接收數(shù)據(jù),并通過(guò)短任務(wù)優(yōu)先算法,加入打印隊(duì)列等候打印機(jī)打印,為人們今后的生活提供了更多便捷。1.2 國(guó)內(nèi)外研究現(xiàn)狀 2011年4月 google 第一次對(duì)外宣布了云打印計(jì)劃1,這一功能不但可以讓遠(yuǎn)程無(wú)線打印成為現(xiàn)實(shí),更解決了手持設(shè)備打印不方便的問(wèn)題,本系統(tǒng)從中提取了“云打印”的思想并總結(jié)了制作思路,為制作本軟件奠定了基礎(chǔ)。 截至今日,chrome 中的云打印已經(jīng)基本可用,而另外一方面 google 的合作伙伴 hp 也在今天隆重發(fā)布了全系列支
13、持云打印的無(wú)線打印機(jī),用戶(hù)可以從 cr-48,移動(dòng)版 gmail 和 google docs 等支持云打印的應(yīng)用中直接打印到這些打印機(jī)上。 當(dāng)使用 google 云打印進(jìn)行打印時(shí),文件會(huì)通過(guò)網(wǎng)絡(luò)安全地發(fā)送到的打印機(jī)。由于打印工作是通過(guò)網(wǎng)絡(luò)進(jìn)行的,因此無(wú)論與打印機(jī)的距離是遠(yuǎn)是近,google 云打印都能工作。無(wú)論用的是手機(jī)、傳統(tǒng)的臺(tái)式機(jī)還是介于兩者之間的設(shè)備(如平板電腦),都可以使用 google 云打印。 借助云端打印機(jī),能立即體驗(yàn)谷歌云打印。由于云端打印機(jī)可以通過(guò)家中或辦公室的無(wú)線網(wǎng)絡(luò)直接注冊(cè)谷歌云打印服務(wù),因此能隨時(shí)使用。此外,因?yàn)樵贫舜蛴C(jī)總是會(huì)連接到網(wǎng)絡(luò),所以其驅(qū)動(dòng)程序和固件無(wú)需的干預(yù)
14、即可更新至最新?tīng)顟B(tài)。谷歌云打印還支持傳統(tǒng)的非云端打印機(jī),因此可以使用現(xiàn)有的任意打印機(jī)立即開(kāi)始體驗(yàn)。 谷歌云打印是通過(guò)軟件實(shí)現(xiàn)與遠(yuǎn)程打印服務(wù)器的連接,只要擁有打印資源,便可以通過(guò)互聯(lián)網(wǎng)通訊實(shí)現(xiàn),手機(jī)或者pc客戶(hù)機(jī)軟件實(shí)現(xiàn)數(shù)據(jù)發(fā)送給遠(yuǎn)程云端打印,然而本文研究的是一種網(wǎng)絡(luò)數(shù)據(jù)傳輸打印,對(duì)于數(shù)據(jù)的安全和數(shù)據(jù)的完整提供了更高的要求。1.3研究的目的和意義對(duì)于如今的很多大小型企業(yè)和學(xué)校甚至政府單位來(lái)說(shuō),如果遇到大量的打印任務(wù),那么對(duì)于傳統(tǒng)的打印方式來(lái)說(shuō),肯定會(huì)耗費(fèi)大量的打印時(shí)間,對(duì)于人力和財(cái)力無(wú)意是一種損耗。因?yàn)榇蛴≠Y源有限,合理的分配打印資源,如何讓打印資源充分利用是存在的問(wèn)題;其次在時(shí)間上非正常的工作
15、時(shí)間,打印機(jī)沒(méi)有人為操作,就不能進(jìn)行有效及時(shí)的打??;有時(shí)候打印的數(shù)據(jù)在傳播過(guò)程中會(huì)造成不必要的損失甚至丟失,這樣打印就不能正常進(jìn)行,所以在保證數(shù)據(jù)完整和安全的前提下,對(duì)大量打印數(shù)據(jù)進(jìn)行統(tǒng)一的管理和無(wú)人值守操作的自動(dòng)打印調(diào)度是完全符合廣大客戶(hù)的需求。通過(guò)網(wǎng)絡(luò)調(diào)度打印推動(dòng)了信息化社會(huì)信息的快速交流,利用網(wǎng)絡(luò)傳輸達(dá)到了快速、高效、安全,節(jié)省了人力、財(cái)力、物力,讓有限的打印資源能夠合理充分使用的同時(shí),提高了生產(chǎn)力,為更多的打印商提供了創(chuàng)造財(cái)富的新途徑,足不出戶(hù),就可以收到各地發(fā)來(lái)的打印訂單,第一時(shí)間解決客戶(hù)的打印問(wèn)題,也創(chuàng)造了利益。其次對(duì)于各大企業(yè)和學(xué)校來(lái)說(shuō)網(wǎng)絡(luò)調(diào)度打印的實(shí)現(xiàn),解決了更多人為了爭(zhēng)奪優(yōu)先
16、的打印資源,排隊(duì)等候,耗費(fèi)大量時(shí)間,對(duì)于緊急的打印任務(wù)不能及時(shí)打印造成不良的后果等諸多問(wèn)題。網(wǎng)絡(luò)調(diào)度打印不僅僅是解決人們的打印問(wèn)題,還可以對(duì)其功能的改進(jìn)和擴(kuò)展,以適應(yīng)更多類(lèi)似的服務(wù)行業(yè),高效的解決顧客的需求。比如餐飲業(yè),可以發(fā)展成為一個(gè)網(wǎng)絡(luò)調(diào)度訂餐系統(tǒng),這樣可以隨時(shí)隨地,解決客戶(hù)的就餐問(wèn)題;比如訂票問(wèn)題,通過(guò)這個(gè)調(diào)度打印可以第一時(shí)間解決客戶(hù)的乘車(chē)出行問(wèn)題等等,也就是說(shuō),網(wǎng)絡(luò)調(diào)度打印它不僅僅是一個(gè)系統(tǒng)軟件,不僅僅只針對(duì)打印問(wèn)題,它是可以擴(kuò)展和延伸地,對(duì)于各個(gè)行業(yè)都可以涉及到,對(duì)于今后很多問(wèn)題都可以合理化解決,這就是本系統(tǒng)軟件最大的意義之所在。2系統(tǒng)可行性分析2.1技術(shù)可行性 2.1.1 網(wǎng)絡(luò)通訊
17、的設(shè)計(jì)原理tcp/ip是國(guó)際互聯(lián)網(wǎng)所采用進(jìn)行網(wǎng)際互連的通信協(xié)議。ip互連協(xié)議(internet protocol),負(fù)責(zé)主機(jī)之間的傳輸數(shù)據(jù)。tcp傳輸控制協(xié)議(transmission control protocol),負(fù)責(zé)在應(yīng)用程序之間傳遞數(shù)據(jù)。實(shí)際所稱(chēng)的tcp/ip協(xié)議包括了在國(guó)際互聯(lián)網(wǎng)上應(yīng)用的一組協(xié)議,互聯(lián)網(wǎng)協(xié)議組是此協(xié)議組的另一個(gè)名字。這個(gè)協(xié)議組包括幾種工作在不同層次上的網(wǎng)絡(luò)協(xié)議,udp用戶(hù)數(shù)據(jù)報(bào)協(xié)議(user datagram protocol),提供給用戶(hù)進(jìn)程的無(wú)連接協(xié)議,也負(fù)責(zé)在應(yīng)用程序之間無(wú)連接傳遞數(shù)據(jù),但不執(zhí)行正確性檢查。icmp互連網(wǎng)控制報(bào)文協(xié)議(internet con
18、trol message protocol),處理主機(jī)間的差錯(cuò)和傳送控制。arp地址解析協(xié)議(address resolution protocol),負(fù)責(zé)將網(wǎng)絡(luò)層地址轉(zhuǎn)換成鏈路層地址。rarp反向地址解析協(xié)議(reverse address resolution protocol),負(fù)責(zé)將鏈路層地址轉(zhuǎn)換成網(wǎng)絡(luò)層地址。tcp/ip協(xié)議的核心是傳輸層協(xié)議(tcp、udp)、網(wǎng)絡(luò)層協(xié)議(ip)和物理接口層,這三層通常在操作系統(tǒng)的內(nèi)核中實(shí)現(xiàn)。tcp/ip網(wǎng)絡(luò)環(huán)境下的應(yīng)用程序設(shè)計(jì)是通過(guò)網(wǎng)絡(luò)系統(tǒng)編程界面socket實(shí)現(xiàn)的,socket提供應(yīng)用程序與系統(tǒng)內(nèi)核之間的網(wǎng)絡(luò)編程接口。協(xié)議可以是可靠的可以是不可靠
19、的??煽康膮f(xié)議意味著當(dāng)數(shù)據(jù)通過(guò)協(xié)議傳遞時(shí),協(xié)議保證數(shù)據(jù)正確傳輸。可靠傳輸包括幾個(gè)特征。首先,為了確保數(shù)據(jù)正確傳送,協(xié)議在通信應(yīng)用程序之間互相交換確認(rèn)信息。也就是說(shuō),程序每次發(fā)送一個(gè)報(bào)文時(shí),都期望對(duì)方發(fā)送確認(rèn)信息。如果發(fā)送程序沒(méi)有收到這樣一個(gè)確認(rèn)信息,程序?qū)⒆詣?dòng)重新發(fā)送此報(bào)文,直到得到應(yīng)答信息為止。其次,為了確保傳輸?shù)臄?shù)據(jù)有效,可靠協(xié)議在每次傳輸時(shí),都包含一個(gè)或更多的校驗(yàn)和(crc)。接收計(jì)算機(jī)重新計(jì)算校驗(yàn)碼,再與收到的校驗(yàn)和進(jìn)行比較。如果不匹配,就表明在傳輸過(guò)程中發(fā)生了錯(cuò)誤。傳輸控制協(xié)議tcp是一個(gè)使用校驗(yàn)和確認(rèn)信息以及其它可靠數(shù)據(jù)傳輸技術(shù)的可靠協(xié)議。相比之下,不可靠協(xié)議不能確保數(shù)據(jù)正確傳輸。
20、協(xié)議試圖傳輸數(shù)據(jù),但不保證成功。而且,不可靠協(xié)議在傳輸失敗后,并不通知發(fā)送方??蓪⒉豢煽繑?shù)據(jù)傳輸比作沒(méi)有返回地址的信件。如果發(fā)送地址是錯(cuò)誤的,由于郵遞系統(tǒng)不能將信退回給,所以就不知道信件有沒(méi)有送到。即使發(fā)送地址是正確的,也不能保證郵遞系統(tǒng)不丟失的信件。tcpip協(xié)議組中存在的兩個(gè)基本數(shù)據(jù)服務(wù)是:字節(jié)流服務(wù)和數(shù)據(jù)報(bào)服務(wù)。使用字節(jié)流的協(xié)議將信息看作一串字節(jié)流進(jìn)行傳輸。協(xié)議不管要求發(fā)送或接收數(shù)據(jù)的長(zhǎng)度和傳送數(shù)目,只是將數(shù)據(jù)看作一個(gè)簡(jiǎn)單的字節(jié)串流。使用數(shù)據(jù)報(bào)的協(xié)議將信息視作一個(gè)獨(dú)立單元進(jìn)行傳輸。協(xié)議單獨(dú)發(fā)一個(gè)數(shù)據(jù)報(bào),與此同時(shí)數(shù)據(jù)報(bào)之間不相互依賴(lài)。例如,假設(shè)使用字節(jié)流協(xié)議發(fā)送5個(gè)數(shù)據(jù)段(每個(gè)有10字節(jié))
21、和一個(gè)包含50字節(jié)的數(shù)據(jù)段(總共100字節(jié))。連接的接收方可以按每次20字節(jié)讀數(shù)據(jù)(要讀5次)。傳輸控制協(xié)議是字節(jié)流協(xié)議。字節(jié)流協(xié)議不關(guān)心每個(gè)數(shù)據(jù)段的長(zhǎng)度。如果應(yīng)用程序使用字節(jié)流協(xié)議發(fā)送數(shù)據(jù),則協(xié)議能夠保證連接的另一端按照發(fā)送的順序接收數(shù)據(jù)。相比之下,傳輸?shù)酵荒康牡氐亩鄠€(gè)數(shù)據(jù)報(bào)可能不會(huì)按發(fā)送順序到達(dá)。如果接收方應(yīng)用程序要求數(shù)據(jù)順序一致,應(yīng)用程序必須在數(shù)據(jù)到達(dá)后,校對(duì)這些數(shù)據(jù)。用戶(hù)數(shù)據(jù)報(bào)協(xié)議和互連網(wǎng)協(xié)議使用數(shù)據(jù)報(bào)傳輸數(shù)據(jù)。數(shù)據(jù)報(bào)類(lèi)似于信件。在tcp/ip術(shù)語(yǔ)中,端口(port)類(lèi)似于ip地址,ip地址與主機(jī)地址是相聯(lián)系的,端口和協(xié)議相聯(lián)系。ip數(shù)據(jù)報(bào)保存目的和源ip地址,同樣傳輸協(xié)議也保存源和
22、目的端口號(hào)。internet包括像ftp、telnet和mail這樣廣泛使用的應(yīng)用程序采用的應(yīng)用協(xié)議,在internet上,這些應(yīng)用程序使用一種叫做“通用口分配”的端口。通用口分配是特定應(yīng)用程序廣泛使用的一個(gè)協(xié)議端口。22.1.2客戶(hù)端機(jī)與服務(wù)器模型(client/server或客戶(hù)/服務(wù)器模式):client和server常常分別處在相距很遠(yuǎn)的兩臺(tái)計(jì)算機(jī)上,client程序的任務(wù)是將用戶(hù)的要求提交給server程序,再將server程序返回的結(jié)果以特定的形式顯示給用戶(hù);server程序的任務(wù)是接收客戶(hù)程序提出的服務(wù)請(qǐng)求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶(hù)程序。傳統(tǒng)的c/s體系結(jié)構(gòu)雖然采用的是
23、開(kāi)放模式,但這只是系統(tǒng)開(kāi)發(fā)一級(jí)的開(kāi)放性,在特定的應(yīng)用中無(wú)論是client端還是server端都還需要特定的軟件支持。由于沒(méi)能提供用戶(hù)真正期望的開(kāi)放環(huán)境,c/s結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)開(kāi)發(fā)不同版本的軟件, 加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶(hù)同時(shí)使用。而且代價(jià)高, 效率低。c/s 結(jié)構(gòu)的基本原則是將計(jì)算機(jī)應(yīng)用任務(wù)分解成多個(gè)子任務(wù),由多臺(tái)計(jì)算機(jī)分工完成,即采用“功能分布”原則。客戶(hù)端完成數(shù)據(jù)處理,數(shù)據(jù)表示以及用戶(hù)接口功能;服務(wù)器端完成dbms的核心功能。這種客戶(hù)請(qǐng)求服務(wù)、服務(wù)器提供服務(wù)的處理方式是一種新型的計(jì)算機(jī)應(yīng)用模式。c/s結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶(hù)端pc的處理
24、能力,很多工作可以在客戶(hù)端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶(hù)端響應(yīng)速度快。具體表現(xiàn)在以下兩點(diǎn):(1)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡(jiǎn)單的c/s體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用由兩部分組成,即客戶(hù)應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器程序。二者可分別稱(chēng)為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫(kù)服務(wù)器程序的機(jī)器,也稱(chēng)為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶(hù)程序發(fā)來(lái)的請(qǐng)求;客戶(hù)應(yīng)用程序運(yùn)行在用戶(hù)自己的電腦上,對(duì)應(yīng)于數(shù)據(jù)庫(kù)服務(wù)器,可稱(chēng)為客戶(hù)電腦,當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶(hù)程序就自動(dòng)地尋找服務(wù)器程序,并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。(2)數(shù)據(jù)的儲(chǔ)存管
25、理功能較為透明。在數(shù)據(jù)庫(kù)應(yīng)用中,數(shù)據(jù)的儲(chǔ)存管理功能,是由服務(wù)器程序和客戶(hù)應(yīng)用程序分別獨(dú)立進(jìn)行的,并且通常把那些不同的前臺(tái)應(yīng)用所不能違反的規(guī)則,在服務(wù)器程序中集中實(shí)現(xiàn),例如訪問(wèn)者的權(quán)限,編號(hào)可以重復(fù)、必須有客戶(hù)才能建立這樣的規(guī)則。2.1.3網(wǎng)絡(luò)通信的數(shù)據(jù)安全(1) 網(wǎng)絡(luò)通信的數(shù)據(jù)安全包括以下幾個(gè)方面:1) 數(shù)據(jù)傳輸?shù)陌踩?,?shù)據(jù)傳輸?shù)陌踩允潜WC在公網(wǎng)上傳輸?shù)臄?shù)據(jù)不被第三方竊取。2) 數(shù)據(jù)完整性對(duì)數(shù)據(jù)的完整性需求是指數(shù)據(jù)在傳輸過(guò)程中不被篡改。3) 身份驗(yàn)證在網(wǎng)上的通信雙方互不見(jiàn)面,必須在相互通信時(shí)確認(rèn)對(duì)方的真實(shí)身份。4) 不可抵賴(lài)性在網(wǎng)絡(luò)通信中開(kāi)展業(yè)務(wù)的各方在進(jìn)行數(shù)據(jù)傳輸時(shí),必須帶有自身持有的、
26、無(wú)法被別人復(fù)制的信息,以保證發(fā)生糾紛時(shí)有所對(duì)證。通常情況下,網(wǎng)絡(luò)通信中采用的安全技術(shù)主要有防火墻技術(shù)、數(shù)據(jù)加密技術(shù)和身份認(rèn)證技術(shù)等。本文討論的重點(diǎn)是數(shù)據(jù)加密技術(shù)在網(wǎng)絡(luò)安全策略中的應(yīng)用。(2) 數(shù)字指紋技術(shù)數(shù)字指紋是一種形象的說(shuō)法,在密碼學(xué)上被稱(chēng)為“信息摘要”。它是通過(guò)安全的單向散列函數(shù)作用于將要發(fā)送的信息上產(chǎn)生的:message digest =secure hash(message)單向散列函數(shù)有三個(gè)主要特點(diǎn):1) 它能處理任意大小的信息,并將其按信息摘要(message digesgt)方法生成固定大小的數(shù)據(jù)塊,對(duì)同一個(gè)源數(shù)據(jù)反復(fù)執(zhí)行secure hash函數(shù)將總是得到同樣的結(jié)果。2) 它
27、是不可預(yù)見(jiàn)的。產(chǎn)生的數(shù)據(jù)塊的大小與原始信息的大小沒(méi)有任何聯(lián)系,同時(shí)源數(shù)據(jù)和產(chǎn)生的數(shù)據(jù)塊看起來(lái)也沒(méi)有明顯關(guān)系,源信息的一個(gè)微小的變化都會(huì)對(duì)小數(shù)據(jù)塊產(chǎn)生很大影響。3) 它是完全不可逆的,沒(méi)有辦法通過(guò)生成的數(shù)據(jù)塊直接回復(fù)源數(shù)據(jù)。數(shù)字指紋技術(shù)不是一種加密機(jī)制,但卻能產(chǎn)生信息的數(shù)字“指紋”,通過(guò)驗(yàn)證信息的“指紋”來(lái)確保數(shù)據(jù)沒(méi)有被修改或變化,保證信息的完整性不被破壞。常用的信息摘要算法有:md2、md5和sha-1等。3) 數(shù)字簽名 數(shù)字簽名是用來(lái)保證信息傳輸過(guò)程中信息的完整和提供信息發(fā)送者的身份驗(yàn)證和不可抵賴(lài)性的一種安全技術(shù)。2.1.4內(nèi)存管理,內(nèi)存映射技術(shù)內(nèi)存管理,是指軟件運(yùn)行時(shí)對(duì)計(jì)算機(jī)內(nèi)存資源的分配
28、和使用的技術(shù)。其最主要的目的是如何高效,快速的分配,并且在適當(dāng)?shù)臅r(shí)候釋放和回收內(nèi)存資源。一個(gè)執(zhí)行中的程序,譬如網(wǎng)頁(yè)瀏覽器在個(gè)人電腦里將資料轉(zhuǎn)換于真實(shí)世界及電腦內(nèi)存之間,然后將資料存于電腦內(nèi)存內(nèi)部的過(guò)程。內(nèi)存映射文件,是由一個(gè)文件到一塊內(nèi)存的映射。win32提供了允許應(yīng)用程序把文件映射到一個(gè)進(jìn)程的函數(shù) (createfilemapping)。內(nèi)存映射文件與虛擬內(nèi)存有些類(lèi)似,通過(guò)內(nèi)存映射文件可以保留一個(gè)地址空間的區(qū)域,同時(shí)將物理存儲(chǔ)器提交給此區(qū)域,內(nèi)存文件映射的物理存儲(chǔ)器來(lái)自一個(gè)已經(jīng)存在于磁盤(pán)上的文件,而且在對(duì)該文件進(jìn)行操作之前必須首先對(duì)文件進(jìn)行映射。使用內(nèi)存映射文件處理存儲(chǔ)于磁盤(pán)上的文件時(shí),將不
29、必再對(duì)文件執(zhí)行i/o操作,使得內(nèi)存映射文件在處理大數(shù)據(jù)量的文件時(shí)能起到相當(dāng)重要的作用。內(nèi)存映射文件與虛擬內(nèi)存有些類(lèi)似,通過(guò)內(nèi)存映射文件可以保留一個(gè)地址空間的區(qū)域,同時(shí)將物理存儲(chǔ)器提交給此區(qū)域,只是內(nèi)存文件映射的物理存儲(chǔ)器來(lái)自一個(gè)已經(jīng)存在于磁盤(pán)上的文件,而非系統(tǒng)的頁(yè)文件,而且在對(duì)該文件進(jìn)行操作之前必須首先對(duì)文件進(jìn)行映射,就將整個(gè)文件從磁盤(pán)加載到內(nèi)存。由此可以看出,使用內(nèi)存映射文件處理存儲(chǔ)于磁盤(pán)上的文件時(shí),將不必再對(duì)文件執(zhí)行i/o操作,這意味著在對(duì)文件進(jìn)行處理時(shí)將不必再為文件申請(qǐng)并分配緩存,所有的文件緩存操作均由系統(tǒng)直接管理,由于取消了將文件數(shù)據(jù)加載到內(nèi)存、數(shù)據(jù)從內(nèi)存到文件的回寫(xiě)以及釋放內(nèi)存塊等步
30、驟,使得內(nèi)存映射文件在處理大數(shù)據(jù)量的文件時(shí)能起到相當(dāng)重要的作用。另外,實(shí)際工程中的系統(tǒng)往往需要在多個(gè)進(jìn)程之間共享數(shù)據(jù),如果數(shù)據(jù)量小,處理方法是靈活多變的,如果共享數(shù)據(jù)容量巨大,那么就需要借助于內(nèi)存映射文件來(lái)進(jìn)行。實(shí)際上,內(nèi)存映射文件正是解決本地多個(gè)進(jìn)程間數(shù)據(jù)共享的最有效方法。 2.1.5虛擬打印技術(shù)虛擬打印機(jī),實(shí)際的打印驅(qū)動(dòng)安裝在打印服務(wù)器端,將打印數(shù)據(jù)轉(zhuǎn)換為版式文件或者其他指定格式的文件,實(shí)現(xiàn)監(jiān)控的目的是一個(gè)虛擬打印驅(qū)動(dòng)程序。這樣可以對(duì)每臺(tái)client客戶(hù)機(jī)的所有應(yīng)用程序都屏蔽除了虛擬打印機(jī)以外的所有打印機(jī),使打印數(shù)據(jù)必須經(jīng)過(guò)虛擬打印的打印機(jī)處理;最后由虛擬打印機(jī)將打印數(shù)據(jù)轉(zhuǎn)發(fā)到真正的打印服
31、務(wù)器完成打印任務(wù)。虛擬打印機(jī),它是一種軟件,能模擬真實(shí)打印機(jī)的功能,打印文件。安裝完畢,打開(kāi)“控制面板”中的“打印機(jī)和傳真”,會(huì)看到所安裝的虛擬打印機(jī),可以模擬真實(shí)的打印機(jī)環(huán)境。鼠標(biāo)雙擊將其打開(kāi),可以對(duì)其“打印首選項(xiàng)”和“屬性”進(jìn)行修改,從而設(shè)定是否共享、可使用時(shí)間、是否后臺(tái)打印和優(yōu)先級(jí),以及紙張大小、版式安排等。它們同樣能截獲所有windows程序的打印操作,或模擬打印效果,或完成某一特殊功能。有些軟件自帶虛擬打印機(jī),有些則是專(zhuān)門(mén)的虛擬打印機(jī),利用這些虛擬打印機(jī),可以幫助完成很多特殊的任務(wù)。虛擬打印機(jī)的打印文件是以某種特定的格式保存在電腦上。 2.2操作可行性網(wǎng)絡(luò)調(diào)度打印軟件的可視化相當(dāng)好,
32、信息簡(jiǎn)單明了,用戶(hù)操作簡(jiǎn)單,對(duì)操作人員的使用技術(shù)水平要求很低,幾乎無(wú)技術(shù)要求只需對(duì)操作系統(tǒng)使用熟練,即可手工作操作。在操作技術(shù)上也具備可行性。與此同時(shí)每一個(gè)按鈕都有注明的文字,這對(duì)按鈕的操作簡(jiǎn)單明了,ip地址欄上面有注明的服務(wù)器ip地址和端口號(hào),用戶(hù)只需要從客戶(hù)端手動(dòng)輸入ip地址和端口號(hào)就可以連接遠(yuǎn)程服務(wù)器,不需要賬號(hào)和密碼,這在一定程度降低了客戶(hù)的操作難度,而且服務(wù)器的自動(dòng)調(diào)度減去了以往要手動(dòng)打開(kāi)打印機(jī),然后選擇要打印的文件,進(jìn)而執(zhí)行打印操作,一連貫的繁瑣操作,服務(wù)器會(huì)自動(dòng)接收文件,對(duì)文件進(jìn)行自動(dòng)加入打印隊(duì)列,最后自動(dòng)調(diào)度打印機(jī)打印的,所以綜上所述操作具有可行性。2.3經(jīng)濟(jì)可行性任何系統(tǒng)項(xiàng)目
33、的開(kāi)發(fā),都會(huì)受到資源和時(shí)間上的限制。因此,在每一個(gè)項(xiàng)目開(kāi)始開(kāi)發(fā)之前,都要進(jìn)行全面的具體的可行性分析,這樣可以最大限度的減少項(xiàng)目開(kāi)發(fā)風(fēng)險(xiǎn),避免大量的人力、物力的浪費(fèi)。在當(dāng)今的信息化高速發(fā)展時(shí)代,客戶(hù)端服務(wù)器管理模式可以滿足多樣化的客戶(hù)需求,服務(wù)器工作統(tǒng)一化、快速化、整體化。這種模式相對(duì)提高了打印的工作效率,提升了打印服務(wù)器端的經(jīng)濟(jì)效益,本系統(tǒng)軟件用c/s結(jié)構(gòu)模式,客戶(hù)端對(duì)計(jì)算機(jī)配置的要求不高,低配置電腦也可以完全滿足本系統(tǒng)的需求,滿足用戶(hù)的使用需要。同時(shí),服務(wù)器在管理工作上的高效率和便捷性遠(yuǎn)遠(yuǎn)超出了本系統(tǒng)所開(kāi)發(fā)的成本,在經(jīng)濟(jì)方面具有可行性。 2.4小結(jié) 本章主要課題背景和現(xiàn)狀,課題研究的目的和意
34、義,并對(duì)課題工作做出了規(guī)劃安排。最后簡(jiǎn)要介紹了本課題開(kāi)發(fā)所采用的相關(guān)工具和技術(shù)。 3 系統(tǒng)分析與設(shè)計(jì)3.1系統(tǒng)開(kāi)發(fā)工具及簡(jiǎn)介(1)本系統(tǒng)服務(wù)器處理的數(shù)據(jù)量大,對(duì)帶寬要求高,其次對(duì)于內(nèi)存和cup性能要求高。(2)visual c+6.0由microsoft開(kāi)發(fā), 它不僅是一個(gè)c+ 編譯器,而且是一個(gè)基于windows操作系統(tǒng)的可視化集成開(kāi)發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppwizard、類(lèi)向?qū)lass wizard等開(kāi)發(fā)工具。 這些組件通過(guò)一個(gè)名為developer
35、studio的組件集成開(kāi)發(fā)環(huán)境。microsoft的主力軟件產(chǎn)品。visual c+是一個(gè)功能強(qiáng)大的可視化軟件開(kāi)發(fā)工具。自1993年microsoft公司推出visual c+1.0后,visual c+已成為專(zhuān)業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首選工具。visual c+6.0以擁有“語(yǔ)法高亮”,自動(dòng)編譯功能以及高級(jí)除錯(cuò)功能而著稱(chēng)。比如,它允許用戶(hù)進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶(hù)在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及創(chuàng)建預(yù)編譯頭文件(stdafx.h)、最小重建功能及累加連結(jié)。 developer studio是一個(gè)集成開(kāi)發(fā)環(huán)境,日常工作的99%都是在它上面完成的。
36、雖然developer studio提供了一個(gè)很好的編輯器和很多wizard,但實(shí)際上它沒(méi)有任何編譯和鏈接程序的功能。developer studio并不是專(zhuān)門(mén)用于vc的,它也同樣用于vb,vj,vid等。platform sdk是visual c+和整個(gè)visual studio的核心功能,platform sdk是以microsoft c/c+編譯器為核心,配合masm,輔以其他一些工具和文檔資料。developer studio沒(méi)有編譯程序的功能,cl、nmake和其他許多的命令行程序,是構(gòu)成visual studio的基石。結(jié)論:通過(guò)vc6.0豐富多彩的功能完全有能力在windows平
37、臺(tái)設(shè)上設(shè)計(jì)出符合要求的軟件。 3.2 系統(tǒng)總體框架3.2.1設(shè)計(jì)流程圖根據(jù)客戶(hù)的實(shí)際情況,為了能夠盡量滿足各種用戶(hù)需求,在進(jìn)行基于客戶(hù)端服務(wù)器的網(wǎng)絡(luò)調(diào)度打印系統(tǒng)的技術(shù)方案設(shè)計(jì)時(shí),采用c/s模式來(lái)進(jìn)行設(shè)計(jì)。根據(jù)客戶(hù)端和服務(wù)器結(jié)構(gòu)的要求,系統(tǒng)平臺(tái)共分成2部分:客戶(hù)端、服務(wù)器。圖3.1設(shè)計(jì)流程圖 客戶(hù)端要執(zhí)行以下幾個(gè)步驟: (1)初始化socket (2)讀取端口號(hào)和ip地址 (3)與服務(wù)器建立連接 (4)載入本地打印數(shù)據(jù) (5)對(duì)數(shù)據(jù)進(jìn)行md5數(shù)據(jù)加密 (6)發(fā)送文件到指定端口服務(wù)器。服務(wù)器主要負(fù)責(zé)對(duì)數(shù)據(jù)的接收、校驗(yàn)、輸出提交給打印機(jī)服務(wù)器端執(zhí)行以下幾步驟: (1)初始化socket (2)綁定端
38、口和ip地址 (3)創(chuàng)建端口偵聽(tīng),啟動(dòng)多線程循環(huán)監(jiān)聽(tīng)鏈接 (4)接收數(shù)據(jù) (5)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),確保數(shù)據(jù)是否完整 (6)如果數(shù)據(jù)不完整,丟棄并添加日志 3.2.2 系統(tǒng)類(lèi)圖圖3.2系統(tǒng)類(lèi)圖 (1)clanserverclientapp繼承cwinapp實(shí)現(xiàn)windows 操作系統(tǒng)的應(yīng)用程序的初始化、運(yùn)行和終止 。 (2)caboutdlg繼承cdialog用戶(hù)在屏幕上顯示的對(duì)話框。也就是初始化定義了一些提示對(duì)話框。如服務(wù)器啟動(dòng)按鈕其中dodataexchang實(shí)現(xiàn)主對(duì)話框和提示對(duì)話框的交互。(3)clanserverclientdlg繼承cdialog在屏幕上顯示的對(duì)話框(主對(duì)話框),該類(lèi)為主
39、類(lèi)調(diào)用clansocketclient類(lèi)實(shí)例實(shí)現(xiàn)客戶(hù)端操作;調(diào)用clansocketserver實(shí)例實(shí)現(xiàn)服務(wù)器端操作。(4)clansocket類(lèi)繼承casycsocket,clansocketclient調(diào)用該類(lèi)方法,為客戶(hù)端操作提供服務(wù)(5)clansocketclient類(lèi)繼承casycsocket實(shí)現(xiàn)客戶(hù)端的操作,客戶(hù)端可以有多個(gè)實(shí)例6.clansocketserver類(lèi)繼承casycsocket實(shí)現(xiàn)服務(wù)器端操作,服務(wù)器端只有一個(gè),用多線程監(jiān)聽(tīng)管理客戶(hù)端。3.3 功能模塊設(shè)計(jì)3.3.1 基本功能模塊圖3.3基本功能模塊圖首先對(duì)于客戶(hù)端做功能模塊的分析:客戶(hù)端面對(duì)的是廣大持有移動(dòng)設(shè)備的客
40、戶(hù)群體,所以對(duì)于移動(dòng)設(shè)備的性能要求不高,并且界面設(shè)置簡(jiǎn)單化,操作容易,上手快,適合每一個(gè)客戶(hù)的需求。打印客戶(hù)端通過(guò)輸入遠(yuǎn)程服務(wù)器端的ip地址,然后點(diǎn)擊鏈接,客戶(hù)端就可以通過(guò)讀取服務(wù)器端ip,自動(dòng)分配與之綁定的端口,實(shí)現(xiàn)基于tcp/ip協(xié)議的網(wǎng)絡(luò)通訊,這樣只要有可以聯(lián)網(wǎng)的移動(dòng)設(shè)備,那么數(shù)據(jù)就可以完成簡(jiǎn)單的通訊了。下一步對(duì)于數(shù)據(jù)發(fā)送模塊的需求分析:要把本地文件載入客戶(hù)端發(fā)送到遠(yuǎn)程服務(wù)器過(guò)程中,很多時(shí)候個(gè)人的數(shù)據(jù)是保密的,不愿意被第三方竊取的,所以對(duì)于客戶(hù)端來(lái)說(shuō),在載入本地文件,實(shí)現(xiàn)數(shù)據(jù)發(fā)送的過(guò)程,添加了md5數(shù)據(jù)加密校驗(yàn)的過(guò)程,這樣有效了保證的數(shù)據(jù)安全,是滿足客戶(hù)需要的。其次對(duì)于服務(wù)器端功能模塊做
41、下一步的需求分析:當(dāng)服務(wù)器端接收數(shù)據(jù)的時(shí)候?yàn)榱蓑?yàn)證數(shù)據(jù)是否完整那么必須進(jìn)行數(shù)據(jù)校驗(yàn),這樣不至于對(duì)于錯(cuò)誤的數(shù)據(jù)或者不完整的數(shù)據(jù),進(jìn)行排隊(duì)處理,阻塞打印資源。最后對(duì)于打印任務(wù)做短任務(wù)優(yōu)先選擇法進(jìn)行打印排隊(duì),因?yàn)檫@樣單位時(shí)間內(nèi)就可以處理更多的打印任務(wù),解決了更多客戶(hù)的打印問(wèn)題,提高了打印效率,合理分配了打印資源。 3.3.2 服務(wù)器和客戶(hù)端時(shí)序圖(1)客戶(hù)端的時(shí)序圖圖3.3客戶(hù)端的時(shí)序圖圖3.3描述了從客戶(hù)端到遠(yuǎn)程服務(wù)器的數(shù)據(jù)上傳,顯示了上傳數(shù)據(jù)時(shí)系統(tǒng)的運(yùn)行過(guò)程。上傳數(shù)據(jù)時(shí)系統(tǒng)仍然會(huì)首先顯示界面,首先連接服務(wù)器,如果連接服務(wù)器成功,那么通過(guò)客戶(hù)載入本地文件就可以實(shí)現(xiàn)對(duì)文件的加密,然后發(fā)送密文件到服務(wù)
42、器,接收連接請(qǐng)求成功后會(huì)自動(dòng)監(jiān)聽(tīng)數(shù)據(jù)源。(2)服務(wù)器端的時(shí)序圖圖3.4服務(wù)器端的時(shí)序圖圖3.4描述了從服務(wù)器端接收數(shù)據(jù)的過(guò)程,服務(wù)器循環(huán)監(jiān)聽(tīng),如有客戶(hù)端請(qǐng)求連接,那么服務(wù)器端相應(yīng)后,會(huì)對(duì)接收到的密文件進(jìn)行分析,查看數(shù)據(jù)是否完整,如果數(shù)據(jù)不完整,丟棄并添加日志文件,這部分在debug過(guò)程中完成,最后如果數(shù)據(jù)校驗(yàn)成功那么對(duì)所有接收到的數(shù)據(jù)進(jìn)行文件名和大小創(chuàng)建內(nèi)存映射表,然后排序輸出個(gè)打印隊(duì)列,最后由打印機(jī)自動(dòng)完成打印任務(wù)。3.4 小結(jié)本章主要對(duì)系統(tǒng)總體框架進(jìn)行了設(shè)計(jì),再根據(jù)系統(tǒng)框架和具體功能設(shè)計(jì)了類(lèi)圖。在設(shè)計(jì)流程圖設(shè)計(jì)好后又設(shè)計(jì)流程圖實(shí)現(xiàn)的功能進(jìn)行了細(xì)化,即將各個(gè)模塊的功能具體到每一個(gè)類(lèi)中,實(shí)現(xiàn)了
43、主要類(lèi)的設(shè)計(jì)工作。最后畫(huà)出了服務(wù)器端和客戶(hù)端的順序圖,為系統(tǒng)的實(shí)現(xiàn)提供依據(jù)。4系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)開(kāi)發(fā)環(huán)境 (1)應(yīng)用客戶(hù)端: 應(yīng)用程序:客戶(hù)端 開(kāi)發(fā)語(yǔ)言:c+ 操作系統(tǒng):windows xp 編譯器:vc+ (2)應(yīng)用服務(wù)器: 應(yīng)用程序:服務(wù)器 操作系統(tǒng):windows xp cpu:四核以上 內(nèi)存:4gb以上4.2系統(tǒng)各功能模塊的實(shí)現(xiàn)(1)客戶(hù)端在數(shù)據(jù)收發(fā)過(guò)程中,主要功能的實(shí)現(xiàn)關(guān)鍵代碼實(shí)現(xiàn):void clanserverclientdlg:onclient() / todo: add your control notification handler code herem_type = 1;
44、m_ip.enablewindow(true);getdlgitem(idc_start_link)-setwindowtext(連接);(afxgetmainwnd()-setwindowtext(客戶(hù)機(jī));lresult clanserverclientdlg:netmessage(wparam wparam, lparam lparam)cstring str;switch(wparam)case clientread:str = m_socketclient.getmessstr();m_info = str;break;case clientsend:break;case conne
45、ct:m_info = 已連接上服務(wù)器 !;break;case serverclose:m_info = 服務(wù)器已關(guān)閉;break;case serverread:str = m_socketserver.getmessstr();m_info = str;break;case serversend:break;case accept:killtimer(2);m_info = 已接受客戶(hù)機(jī)請(qǐng)求 !;break;case clientclose:m_info = 客戶(hù)機(jī)已關(guān)閉;break;updatedata(false);return true;(2) 客戶(hù)端對(duì)數(shù)據(jù)加密功能的實(shí)現(xiàn) 關(guān)鍵代碼
46、:服務(wù)器界面主要有:服務(wù)器綁定ip地址欄、固定端口號(hào)、啟動(dòng)服務(wù)器按鈕。數(shù)字簽名確保文件傳輸安全同時(shí)按大小排序輸出給打印機(jī):const unsigned char md5:padding64=0x80;md5:md5()state0=0x67452301;state1=0xefcdab89;state2=0x98badcfe;state3=0x10325476;md5:md5()bool md5:setmessage(const char * lhs)string tem(lhs);data = tem;state0=0x67452301;state1=0xefcdab89;state2=0x9
47、8badcfe;state3=0x10325476;return true;bool md5:setmessage(const std:string &lhs)data = lhs;state0=0x67452301;state1=0xefcdab89;state2=0x98badcfe;state3=0x10325476;return true;md5:md5(const char *lhs)string tem(lhs);data = tem;state0=0x67452301;state1=0xefcdab89;state2=0x98badcfe;state3=0x10325476;md
48、5:md5(const std:string &lhs)data = lhs;state0=0x67452301;state1=0xefcdab89;state2=0x98badcfe;state3=0x10325476;string md5:padding()/paddingstring tem;tem = data;unsigned int paddinglen;union struct uint4 messagelen,_;unsigned char messagelen9;message;message._ = 0;message.messagelen = tem.length() +
49、 8;paddinglen = message.messagelen & 0x3f;paddinglen = 64 - paddinglen;message.messagelen -= 8;message.messagelen *= 8;tem.append(const char *)padding,paddinglen);tem.append(const char *)message.messagelen,8);return tem;(3)服務(wù)器在數(shù)據(jù)接收過(guò)程中主要功能的實(shí)現(xiàn):關(guān)鍵代碼實(shí)現(xiàn):void clanserverclientdlg:onserver() / todo: add you
50、r control notification handler code herem_type = 0;m_ip.enablewindow(false);getdlgitem(idc_start_link)-setwindowtext(啟動(dòng));(afxgetmainwnd()-setwindowtext(服務(wù)器);void clanserverclientdlg:onstartlink() / todo: add your control notification handler code hereupdatedata();if(!m_type )if(m_socketserver.m_hsoc
51、ket = invalid_socket) bool bflag = m_socketserver.create(m_port, sock_stream, fd_accept);if(!bflag) messagebox(網(wǎng)絡(luò)建立錯(cuò)誤 !); m_socketserver.close(); return;messagebox(服務(wù)已啟動(dòng) !);/“偵聽(tīng)”成功,等待連接請(qǐng)求if(!m_socketserver.listen(1) int nerrorcode = m_socketserver.getlasterror(); if(nerrorcode = wsaewouldblock) mess
52、agebox(網(wǎng)絡(luò)偵聽(tīng)錯(cuò)誤 !); m_socketserver.close(); return; elsebyte a1,a2,a3,a4;m_ip.getaddress(a1,a2,a3,a4);m_serveradr.format(%d.%d.%d.%d,a1,a2,a3,a4);m_socketclient.shutdown(2);m_socketclient.rest(); /建立計(jì)時(shí)器,每1秒嘗試連接一次,直到連上或trycount10settimer(1,500,null);trycount=0; 5系統(tǒng)測(cè)試5.1系統(tǒng)測(cè)試目的與意義系統(tǒng)測(cè)試是軟件研發(fā)過(guò)程中必不可少的一個(gè)部分。主要
53、性體現(xiàn)在于它是能夠保證整個(gè)系統(tǒng)可靠的穩(wěn)定的重要過(guò)程,也是對(duì)整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中包括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)的最終審查的一個(gè)必不可少的過(guò)程。系統(tǒng)測(cè)試就就是尋找問(wèn)題的過(guò)程,在實(shí)際測(cè)試過(guò)程中會(huì)遇到大大小小的問(wèn)題,對(duì)于這些問(wèn)題的解決和修復(fù)將更好的服務(wù)于客戶(hù)。測(cè)試一旦遇到問(wèn)題,那么要及時(shí)的經(jīng)過(guò)bug調(diào)試找出錯(cuò)誤位置和原因,然后進(jìn)行修正,直到真正能夠正常運(yùn)行為止。這是計(jì)算機(jī)信息系統(tǒng)整體要求進(jìn)行的穩(wěn)定性測(cè)試,系統(tǒng)測(cè)試是正對(duì)整個(gè)計(jì)算機(jī)信息系統(tǒng)進(jìn)行的綜合性測(cè)試,目的是能夠驗(yàn)證系統(tǒng)在滿足了用戶(hù)的需求,同時(shí)保證系統(tǒng)的可靠性和穩(wěn)定性,解決系統(tǒng)存在的不足之處。 5.2測(cè)試過(guò)程軟件開(kāi)發(fā)完成之后,還要進(jìn)行整體系統(tǒng)測(cè)試。單
54、獨(dú)對(duì)系統(tǒng)的測(cè)試主要從以下幾個(gè)方面:(1)功能測(cè)試:測(cè)試是否滿足開(kāi)發(fā)要求,是否完成開(kāi)題報(bào)告所描述的功能要求,是否滿足用戶(hù)的需求。功能測(cè)試是系統(tǒng)測(cè)試最常用和必須的測(cè)試。 (2)強(qiáng)度測(cè)試及性能測(cè)試:測(cè)試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷運(yùn)行情況下系統(tǒng)功能實(shí)現(xiàn)的情況。 經(jīng)過(guò)上述的測(cè)試過(guò)程,對(duì)系統(tǒng)進(jìn)行測(cè)試后,只有測(cè)試結(jié)果能夠滿足系統(tǒng)開(kāi)發(fā)的要求,測(cè)試才宣告結(jié)束,系統(tǒng)算開(kāi)發(fā)完成。在在實(shí)驗(yàn)中門(mén)用虛擬打印機(jī)來(lái)完成實(shí)驗(yàn)操作步驟,第一步打開(kāi)虛擬打印機(jī),初始狀態(tài)如圖:圖5.1虛擬機(jī)打開(kāi)初始狀態(tài)圖 第二步:打開(kāi)服務(wù)器,并啟動(dòng)服務(wù)器實(shí)施監(jiān)控,如圖:圖5.2 服務(wù)器啟動(dòng)狀態(tài)圖 第三步:打開(kāi)本地客戶(hù)端,然后連接服務(wù)器,并發(fā)送打印數(shù)據(jù)。 圖5.3 客戶(hù)端鏈接并發(fā)送數(shù)據(jù)成功狀態(tài)圖 圖5.4 服務(wù)器成功接收數(shù)據(jù)狀態(tài)圖 第四步:點(diǎn)擊遠(yuǎn)程打印按鈕,選擇要傳輸打印的文件,然后查看虛擬打印機(jī)的狀態(tài)。5.3測(cè)試結(jié)果 在測(cè)試的第二步中服務(wù)器啟動(dòng)成功,通過(guò)netstat -an 命令查看端口號(hào)狀態(tài):現(xiàn)在端口號(hào)處于listening監(jiān)聽(tīng)狀態(tài),說(shuō)明測(cè)試過(guò)程中服務(wù)器啟動(dòng)成功。圖5.5服務(wù)器端口狀態(tài)圖 在測(cè)試第三步中客戶(hù)端連接服務(wù)器成功,通過(guò)netstat -an 命令查看客戶(hù)端端口和服務(wù)器ip地址狀態(tài):現(xiàn)在客戶(hù)端端口號(hào)和本地ip地址與遠(yuǎn)程服務(wù)器ip地址和端口號(hào)處于estab
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)板型電阻器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)束狀染色機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)無(wú)縫小背心市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)ABS珠數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)方桿磨尖鉛筆市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)數(shù)控高速塑料中空成型機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025-2030年中國(guó)互聯(lián)網(wǎng)傳媒市場(chǎng)動(dòng)態(tài)監(jiān)測(cè)及投資前景評(píng)估報(bào)告
- 2025-2030年中國(guó)丙烯行業(yè)市場(chǎng)發(fā)展預(yù)測(cè)及前景調(diào)研分析報(bào)告
- 2025-2030年中國(guó)MTBE甲基叔丁基醚行業(yè)風(fēng)險(xiǎn)評(píng)估與發(fā)展前景分析報(bào)告
- 新疆吐魯番市鄯善縣2025年三年級(jí)數(shù)學(xué)第二學(xué)期期末經(jīng)典模擬試題含解析
- 【MOOC】知識(shí)創(chuàng)新與學(xué)術(shù)規(guī)范-南京大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 餐飲收貨流程
- 樣本相關(guān)系數(shù) 教學(xué)設(shè)計(jì)
- 五年級(jí)語(yǔ)文上冊(cè)第六單元習(xí)作 我想對(duì)您說(shuō) 公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 間歇機(jī)構(gòu)獲獎(jiǎng)?wù)n件
- 重難點(diǎn)18 球的切、接問(wèn)題(舉一反三)(新高考專(zhuān)用)(學(xué)生版) 2025年高考數(shù)學(xué)一輪復(fù)習(xí)專(zhuān)練(新高考專(zhuān)用)
- 常壓儲(chǔ)罐日常檢查記錄表
- 中國(guó)不寧腿綜合征的診斷與治療指南
- 素養(yǎng)為本的教學(xué)評(píng)一體化教學(xué)設(shè)計(jì)核心理念
- 陽(yáng)臺(tái)加固施工方案
- 社群健康助理員職業(yè)技能鑒定考試題及答案
評(píng)論
0/150
提交評(píng)論