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

正文內(nèi)容

基于客戶端服務(wù)器架構(gòu)的三維網(wǎng)絡(luò)游戲畢業(yè)論文-資料下載頁

2025-06-27 20:31本頁面
  

【正文】 ream fWriteLog。()。fWriteLogbuffer。()。()。 結(jié)果展示圖 327 服務(wù)器界面 客戶端的網(wǎng)絡(luò)同步一個(gè)人玩游戲是比較枯燥的,所以當(dāng)前玩家還可以與其他玩家進(jìn)行交互。首先就是要知道其他玩家相對(duì)自己的位置。那么如何實(shí)現(xiàn)呢?當(dāng)然就是通過服務(wù)器的中繼作用了。比如某個(gè)客戶端做了移動(dòng)這個(gè)操作,為了保證與其他客戶端的網(wǎng)絡(luò)同步,該客戶端需要把更新消息發(fā)送給服務(wù)器端,服務(wù)器除了處理該客戶端的請(qǐng)求,還需要把其他客戶端的消息也發(fā)送給該客戶端,這樣該客戶端就能顯示其他客戶端并且與之互動(dòng)了。如圖328 所示。圖 328 服務(wù)器的中繼作用 網(wǎng)絡(luò)優(yōu)化假設(shè)一個(gè)最簡(jiǎn)單的多人游戲的模型,比如一個(gè) FPS 游戲??蛻舳嗣看螌⑤斎氲臄?shù)據(jù)(比如前進(jìn),跳躍,開火)發(fā)送到服務(wù)器端,然后服務(wù)器端將玩家當(dāng)前的位置和情況發(fā)回給客戶端來做顯示。在這個(gè)最簡(jiǎn)單的模型中,只要有一個(gè)包丟失了,所有的東西都必須停下來等包的重發(fā),任何操作都得停掉,不能移動(dòng)也不能射擊。等到這個(gè)包到達(dá)的時(shí)候,總算能繼續(xù)操作了。但是可能會(huì)發(fā)現(xiàn)還有一堆等待重發(fā)的包在排隊(duì),于是只好繼續(xù)等,而且可能收到的這個(gè)重發(fā)包對(duì)游戲來說已經(jīng)失去時(shí)效性,完全沒意義了。這就是 TCP 的可靠傳輸所帶來的問題。,首先可以使用 UDP 協(xié)議。UDP 協(xié)議排除了可靠傳輸機(jī)制,將安全和排序等功能交給上層應(yīng)用來完成,極大降低了執(zhí)行時(shí)間,從而是速度得到了保證,同時(shí)還保證了數(shù)據(jù)的完整性。相對(duì)于可靠性來說,更快地傳輸效率意味著更少的服務(wù)器延時(shí)。當(dāng)然,也可以在使用 TCP 傳輸一些序列行很強(qiáng)的,如 AI、數(shù)據(jù)加載、NPC 對(duì)話等數(shù)據(jù)的同時(shí),使用 UDP 來傳輸一些即時(shí)性很強(qiáng)的數(shù)據(jù)。不過,這種 TCP 就要是基于 UDP 之上的一種類 TCP,因?yàn)?TCP 和 UDP 都是基于 IP 協(xié)議的,他們?cè)诘讓訒?huì)互相干擾。這也是現(xiàn)代游戲中流行的網(wǎng)絡(luò)架構(gòu)??蛻舳藢?shù)據(jù)發(fā)送到服務(wù)器,服務(wù)器更新數(shù)據(jù)并把相應(yīng)的信息發(fā)送給所有客戶端。此時(shí),不僅存在著一個(gè)流量問題,還存在著服務(wù)器處理效率的問題。舉例來說,一臺(tái)運(yùn)行著的服務(wù)器上有 100 個(gè)客戶端,某個(gè)客戶端向服務(wù)器發(fā)送了一條更新消息。為了保證游戲的同步性,服務(wù)器需要把這個(gè)消息向其他所有的客戶端進(jìn)行廣播。因此這條消息將發(fā)送給 100 個(gè)玩家。假定這條消息的大小為 100 字節(jié),服務(wù)器將發(fā)送 10KB 的數(shù)據(jù)。然而一般情況下,同一個(gè)時(shí)刻不止一個(gè)玩家向服務(wù)器發(fā)送消息。假設(shè)有 30 個(gè)玩家發(fā)送的消息,此時(shí),服務(wù)器就需要發(fā)送 300KB 的數(shù)據(jù)量。同時(shí)服務(wù)器還要經(jīng)過一定的時(shí)間來進(jìn)行這些操作。假如玩家還不止發(fā)送一條消息,那么問題就會(huì)變得更加嚴(yán)重了。在多播技術(shù)中,服務(wù)器不是給每個(gè)客戶端地址單獨(dú)發(fā)送一條消息,而是告訴網(wǎng)絡(luò)中的路由器,這是一條多播消息,路由器會(huì)把這條消息進(jìn)行復(fù)制,然后向多個(gè)客戶端地址進(jìn)行轉(zhuǎn)發(fā)。實(shí)際上,多播技術(shù)不僅把服務(wù)器分發(fā)數(shù)據(jù)的任務(wù)轉(zhuǎn)交給了網(wǎng)絡(luò)中的路由器,還大大降低了服務(wù)器的工作量,使其有更多的時(shí)間來接收更多的客戶端請(qǐng)求。第 4 章 系統(tǒng)測(cè)試分析系統(tǒng)詳細(xì)設(shè)計(jì)完成后,往往要對(duì)系統(tǒng)進(jìn)行測(cè)試,以便檢驗(yàn)系統(tǒng)的功能和性能。這是一個(gè)嚴(yán)格的過程,必須認(rèn)真進(jìn)行。系統(tǒng)測(cè)試主要解決各模塊之間的數(shù)據(jù)通信和數(shù)據(jù)共享問題以及檢測(cè)系統(tǒng)是否達(dá)到用戶的實(shí)際要求,是在整個(gè)系統(tǒng)范圍內(nèi)進(jìn)行的。 功能測(cè)試此次測(cè)試,使用到了虛擬機(jī) VMware WorkStation ,安裝程序制作軟件 InstallShield 2022。 測(cè)試環(huán)境的搭建,預(yù)裝 Windows XP Profession 操作系統(tǒng)。IP 地址設(shè)為。 XP 安裝 Microsoft SQL Server 2022。 InstallShield。 Release 版本后,用 InstallShield 分別制作成安裝程序 和 。 服務(wù)器端的測(cè)試,安裝 ,選擇默認(rèn)安裝路徑 C:\Program Files\安陽工學(xué)院\Server。 SQL Server 2022,進(jìn)入 Database 文件夾下,找到 和,將其附加到 SQL Server 2022 中。 。(1)提示是否保留當(dāng)日記錄的日志。圖 41 提示信息(2)如果 SQL Server 2022 沒有打開或者數(shù)據(jù)庫沒有附加,會(huì)出現(xiàn)以下對(duì)話框。選擇“是”將重新啟動(dòng)程序, “否”則退出。圖 42 初始化失敗(3)服務(wù)器端連接數(shù)據(jù)庫后,初始化所有工作,然后等待客戶端的連接。當(dāng)有客戶端連接后,接收并處理其發(fā)送來的消息。圖 43 服務(wù)器主界面(4)在 Log 文件夾下會(huì)生成當(dāng)日的日志文件 。 客戶端的測(cè)試 安裝到主機(jī)上,操作系統(tǒng)為 Windows 7,IP 地址為。 。(1)伴隨著優(yōu)美動(dòng)聽的音樂,出現(xiàn)登錄窗口,輸入帳號(hào)和密碼,點(diǎn)擊“登錄” 。圖 44 客戶端登錄界面如果服務(wù)器端沒有開啟,將出現(xiàn)提示對(duì)話框。圖 45 服務(wù)器未開啟接著清空帳號(hào)和密碼內(nèi)容,防止被盜或遺失。如果服務(wù)器已經(jīng)開啟,但是玩家輸入的帳號(hào)或密碼錯(cuò)誤,將出現(xiàn)提示對(duì)話框。圖 46 帳號(hào)或密碼錯(cuò)誤(2)成功登錄后。玩家將看到非常真實(shí)的虛擬世界并且聽到悠揚(yáng)的背景音樂。按住鼠標(biāo)的左鍵不放,上下或左右拖動(dòng),可以旋轉(zhuǎn)攝像機(jī)的位置,進(jìn)行 360180 度視角觀察。按住鼠標(biāo)右鍵不放,再按下 W、S、A、D、R、F 就能使角色在場(chǎng)景中自由漫游了。圖 47 在場(chǎng)景中顯示角色(3)客戶端向服務(wù)器端發(fā)送請(qǐng)求復(fù)活單詞的消息后,按照服務(wù)器發(fā)來的消息構(gòu)建場(chǎng)景的 3D 單詞。如果玩家步入單詞的攻擊范圍,則游戲回合倒計(jì)時(shí)開始。圖 48 游戲開始(4)玩家通過鍵盤輸入。根據(jù)玩家的輸入,對(duì)比該單詞中的字符。圖 49 對(duì)比字符(5)如果玩家輸入正確,則單詞死亡,消失并進(jìn)入輪回。輪回時(shí)間一到,又將重新顯示出來。圖 410 單詞死亡 非功能測(cè)試 服務(wù)器性能測(cè)試和壓力測(cè)試服務(wù)器內(nèi)存占用不超過 3M,CPU 占用不超過 5%。通過數(shù)小時(shí)的使用,沒有出現(xiàn)內(nèi)存不足或死機(jī)的現(xiàn)象,發(fā)送消息和記錄日志都沒有延遲等現(xiàn)象出現(xiàn)。性能測(cè)試和壓力測(cè)試通過。 客戶端性能測(cè)試和壓力測(cè)試客戶端內(nèi)存占用為 100M 左右,CPU 占用最小為 10%左右,最大為 60%左右。經(jīng)過一段時(shí)間的使用,沒有出現(xiàn)內(nèi)存不足或死機(jī)現(xiàn)象。將場(chǎng)景特效調(diào)高,CPU 使用率上升,其溫度和顯卡溫度也有所上升。鍵盤和鼠標(biāo)的操作也沒有出現(xiàn)異常的狀況。性能測(cè)試通過,壓力測(cè)試基本通過。結(jié) 論經(jīng)過三個(gè)多月的緊張學(xué)習(xí)和夜以繼日的工作,以及不斷地挑戰(zhàn)和創(chuàng)新,終于完成了此次畢業(yè)設(shè)計(jì)和論文。雖然與自己想象的目標(biāo)還有一段距離,但是從最初的設(shè)計(jì)到系統(tǒng)的實(shí)現(xiàn),再到論文的完成,每走一步對(duì)我來說都是新的嘗試和挑戰(zhàn)。雖然以前也獨(dú)自完成了不少項(xiàng)目,但是這一次卻算得上是大學(xué)期間完成的規(guī)模最大,耗時(shí)最長(zhǎng),并且也是最重要的項(xiàng)目了。不僅整合了過去開發(fā)項(xiàng)目中所使用過的方法和技術(shù),還對(duì)新的技術(shù)有了探索和創(chuàng)新。通過對(duì)客戶端和服務(wù)器端的編程,使我懂得了如何更好地去構(gòu)架一個(gè)實(shí)用并且合理的 C/S 模型結(jié)構(gòu),更加深入地了解了基于 Win32 框架的應(yīng)用程序及其消息響應(yīng)機(jī)制,對(duì)Visual Studio 開發(fā)工具的運(yùn)用也更加熟練,對(duì)網(wǎng)絡(luò)編程也有了更進(jìn)一步的認(rèn)識(shí),還對(duì)數(shù)據(jù)庫的設(shè)計(jì)、讀取和存儲(chǔ)有了一定的了解。在設(shè)計(jì)的過程中,讓我了解到了學(xué)習(xí)方法和設(shè)計(jì)方法的重要性,同時(shí)也發(fā)現(xiàn)了自己的很多不足之處,深有感觸:,欲知此事要躬行。一味地埋頭鉆研課本知識(shí)是很不夠的,除了要學(xué)習(xí)基本的理論知識(shí),還要將這些理論知識(shí)結(jié)合自己的想法付諸實(shí)踐。只有在實(shí)踐中才能進(jìn)一步地提高自己的能力。自己對(duì)什么感興趣是設(shè)計(jì)的前提,也是最重要的。如果做自己不喜歡的事,不僅浪費(fèi)了時(shí)間,還浪費(fèi)了精力。做項(xiàng)目之前,不要急于求成,而要先總體規(guī)劃好項(xiàng)目的時(shí)間和進(jìn)度。其次還要收集相關(guān)資料,對(duì)項(xiàng)目做好概要設(shè)計(jì)和功能需求。再在具體的詳細(xì)設(shè)計(jì)過程中,按照計(jì)劃,一步一步來,盡量使每個(gè)環(huán)節(jié)都做得更好。只有不斷地創(chuàng)新和接受挑戰(zhàn),才能使自己立于不敗之地。然而,因?yàn)闀r(shí)間的倉促和經(jīng)驗(yàn)的不足,還有很多想法和功能沒有在課題中實(shí)現(xiàn)。同時(shí),在某些設(shè)計(jì)上還有許多不足之處。我會(huì)在將來的不斷學(xué)習(xí)中,使該系統(tǒng)的功能更加完善。致 謝首先,我要感謝李老師對(duì)這次課題設(shè)計(jì)的認(rèn)可和在設(shè)計(jì)和開發(fā)中對(duì)我的精心指導(dǎo)和支持鼓勵(lì),讓我懂得了設(shè)計(jì)和開發(fā)軟件不僅要有勇于創(chuàng)新和敢于挑戰(zhàn)的精神,還要有及其認(rèn)真負(fù)責(zé)的態(tài)度,無論做什么事都要大膽去嘗試和實(shí)踐,這樣才會(huì)有所收獲和作為。我在這幾個(gè)月中的每一點(diǎn)成績(jī)和進(jìn)步,都是在自己的不懈努力和老師的支持、鼓勵(lì)和指導(dǎo)下所取得的。其次,我要感謝我的母?!碴柟W(xué)院,是母校給我提供了優(yōu)良的學(xué)習(xí)環(huán)境。另外,我還要感謝那些曾給我授過課的每一位老師,是他們教會(huì)了我專業(yè)知識(shí)。同時(shí),我要感謝百度網(wǎng)和電驢網(wǎng)給我提供了強(qiáng)大的資料搜索和下載機(jī)會(huì),使得我收集和整理了許多相關(guān)的資料。感謝 CSDN、Top of C/C++、C++和 Win 程序設(shè)計(jì)討論專區(qū)上面的每一位好心的網(wǎng)友對(duì)我提出的問題的詳細(xì)回答。最后,我還要感謝如鵬網(wǎng)、孫鑫和翁云兵提供的在線視頻學(xué)習(xí)以及對(duì)外國文獻(xiàn)的翻譯。參考文獻(xiàn)[1] Frank D. Luna. Introduction to 3D Game Programming with Direct [M]. Wordware Publishing,.[2] Wendy Jones. Beginning Direct 9[M]. Stacy L. Hiquet,.[3] 翁云兵. 3D 游戲程序設(shè)計(jì)入門 [M]. . [4] 黃維通. Visual C++面向?qū)ο笈c可視化程序設(shè)計(jì)(第二版)[M]. 清華大學(xué)出版社,.[5] (美)Charles Petzold. Windows 程序設(shè)計(jì)(第五版) [M]. 北京大學(xué)出版社,.[6] 孫鑫. VC++深入詳解[M]. 電子工業(yè)出版社,.[7] 范磊. 從新手到高手 C++全方位學(xué)習(xí)[ M]. 科學(xué)出版社, .[8] 耿衛(wèi)東,陳為. 計(jì)算機(jī)游戲程序設(shè)計(jì)[ M]. 電子工業(yè)出版社,.[9] (韓)全洪. 網(wǎng)絡(luò)游戲服務(wù)器編程[ M]. 人民郵電出版社,.[10] Sams Publishing. Tricks of the Windows174。 Game Programming Gurus(Second Edition)[M]. United States of America,.[11] Frederich P. Brooks,Jr.. 人月神話[M]. AddisonWesleys,.[12] Jessica,Mulligan. Developing Online Games: An Insider39。s Guide[M]. New Riders Pubishing,.[13] 陳堅(jiān),陳偉. Visual C++網(wǎng)絡(luò)高級(jí)編程[ M].人民郵電出版社,.[14] 范文慶,周彬彬. 精通 Windows API[M]. 人民郵電出版社,.[15] 嚴(yán)華峰. Visual C++課程設(shè)計(jì)案例精編[ M]. 中國水利水電出版社,.[16] 楊祥金,楊丹. Windows 程序設(shè)計(jì)教程[M]. 清華大學(xué)出版社
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1