最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MMORPG網(wǎng)絡(luò)游戲開發(fā)之網(wǎng)絡(luò)通信

2022-09-05 16:47 作者:獨立游戲人-老雷  | 我要投稿

MMO游戲又稱大型多人在線角色扮演類游戲,在所有的角色扮演的游戲當中,玩家都要扮演一個虛擬角色,并控制角色活動

MMO可以分為客戶端和服務(wù)器兩部分,玩家通過客戶端連接到互聯(lián)網(wǎng)登錄服務(wù)器才能進行游戲,游戲玩家的數(shù)據(jù)資料保存在服務(wù)器上,游戲的開發(fā)商和運營商提供游戲的服務(wù)器以及管理虛擬世界,對游戲不斷的做出更新以便留住老玩家以及吸引新玩家

我們的MMO訓練營中會為大家介紹使用Unity3D引擎制作一款MMORPG游戲需要掌握的核心技術(shù):網(wǎng)絡(luò)通信技術(shù)

本篇文章涉及到的源碼及素材資源,還有更多游戲開發(fā)資源,可以在我們的《從零開發(fā)MMO 3天訓練營【第一期】 》視頻末尾掃描二維碼獲取


建立解決方案(目錄規(guī)劃)

  • 首先我們在VisualStudio里點擊新建項目,雖然都是新建項目,但這里需要特別注意一下,因為服務(wù)器一般不會帶有用戶界面,所以我們建立的項目應(yīng)該是一個控制臺項目

  • VisualStudio有很多種控制臺,比如基于.NET Framework或.NET Code的,本文使用的控制臺為下圖中被標記的控制臺

  • 為什么選擇這個控制臺呢?

    • 因為上圖中的第二個控制臺只能運行在Windows平臺上,而第一個基于.NET Code的控制臺可以跨平臺運行,開發(fā)的游戲服務(wù)器有很大的概率是運行在Linux服務(wù)器上面的,雖然我們開發(fā)會用Windows,但部署的時候一般都是部署在Linux服務(wù)器上

  • 選好控制臺后點擊下一步,然后為項目配置項目名和儲存位置,因為我們的項目是由很多個小項目構(gòu)成的,所以我會把這些小項目都放在同一個文件夾下面(也就是下圖位置選項中的study文件夾)

  • 因為我們先建立的是服務(wù)器項目,所以項目名叫做MmoServer,配置完成后點擊下一步,其他信息中的目標框架選擇默認就好,然后點擊創(chuàng)建

  • 創(chuàng)建好服務(wù)器項目后,我們還需要再創(chuàng)建一個項目,因為網(wǎng)絡(luò)游戲除了有客戶端和服務(wù)器代碼外,還會存在一些客戶端跟服務(wù)器共通的項目代碼,所以我們一般會建立一個通用文件夾,用來存放一些既要在服務(wù)器上使用的代碼,又需要在客戶端上使用的代碼

  • 因為這個通用文件夾是被客戶端和服務(wù)器所調(diào)用的,所以它的的項目類型就不能再是控制臺項目了,而是必須要把它建立成類庫,類庫可以被客戶端和服務(wù)器所引用

  • 配置儲存位置與名稱

  • 下面再用與建立服務(wù)器項目一樣的方法建立客戶端項目,只是將項目名稱改為ConClient

  • 創(chuàng)建完客戶端項目后,第一步的目錄規(guī)劃就完成了,接下來我們就來實現(xiàn)網(wǎng)絡(luò)通信


實現(xiàn)網(wǎng)絡(luò)通信

  • 網(wǎng)絡(luò)游戲想要實現(xiàn)網(wǎng)絡(luò)通信都是需要使用一種網(wǎng)絡(luò)協(xié)議的,目前主流的互聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議是TCP/IP協(xié)議,但本文不會直接使用TCP/IP通信,因為它涉及的內(nèi)容較多,難度也較高,我們會使用WS協(xié)議

  • WS是什么呢?

    • WS是一個應(yīng)用層協(xié)議,這個協(xié)議比HTTP、FTTP這些協(xié)議的適用性都要廣泛,因為它實際上就相當于是一個已經(jīng)幫你實現(xiàn)好的高層網(wǎng)絡(luò)協(xié)議,而且效率很高,它的全稱叫做WebSocket

  • WebSocket協(xié)議跟HTTP這樣的傳統(tǒng)的協(xié)議有什么不一樣呢?

    • HTTP主要服務(wù)于網(wǎng)頁的傳輸,而WS的應(yīng)用范圍比較廣,除了能用在Web上面,也非常適用于一般的網(wǎng)絡(luò)游戲開發(fā)

  • 接下來我們需要為項目引入WebSocket庫,剛才創(chuàng)建的三個項目里都要引入,這里我用為Common引入WebSocket庫為例子,來為大家演示引入過程:在Common項目的依賴項上右鍵,點擊管理NuGet程序包

  • 在彈出界面中搜索WebSocketSharp,然后選擇搜索結(jié)果中的第一個進行安裝,這樣就成功引入WebSocket通信庫了

  • 為三個項目引入WebSocket庫后就可以開始擼代碼了,下面是服務(wù)器項目的代碼

  • 服務(wù)器代碼已經(jīng)寫好了,接下來我們就把客戶端連接到服務(wù)器上去,下面是客戶端代碼

  • 寫完這些代碼后再運行服務(wù)器就能實現(xiàn)網(wǎng)絡(luò)通信了,運行效果如下

  • 網(wǎng)絡(luò)通信的實現(xiàn)到這里就結(jié)束了,感謝各位讀者能夠看到這里,如果想要學習更多MMORPG網(wǎng)絡(luò)游戲知識可以參加我們的從零開發(fā)MMORPG 3天訓練營,原價298,現(xiàn)在限時免費領(lǐng)取

    從零開發(fā)MMORPG 3天訓練營可以在我們的《從零開發(fā)MMO?3天訓練營【第一期】 》視頻末尾掃描二維碼免費獲取

課程大綱如下

學完你能夠收獲

連續(xù)3天,360+分鐘

不僅僅能讓你從零開發(fā)MMORPG,更能讓你了解游戲行業(yè)求職所面臨最重要的問題!

讓你在入行前避過這些坑

本篇文章涉及到的源碼及素材資源,還有更多游戲開發(fā)資源,可以在我們的《從零開發(fā)MMO 3天訓練營【第一期】 》視頻末尾掃描二維碼獲取


MMORPG網(wǎng)絡(luò)游戲開發(fā)之網(wǎng)絡(luò)通信的評論 (共 條)

分享到微博請遵守國家法律
孙吴县| 同江市| 龙岩市| 界首市| 闸北区| 鄯善县| 尖扎县| 宜良县| 叶城县| 达州市| 翁牛特旗| 青铜峡市| 麻江县| 北辰区| 大洼县| 东至县| 德清县| 陈巴尔虎旗| 和林格尔县| 平陆县| 隆化县| 温州市| 东兰县| 余庆县| 广河县| 中卫市| 信宜市| 成武县| 象山县| 嘉黎县| 崇州市| 梁平县| 嘉祥县| 正蓝旗| 大悟县| 平江县| 华阴市| 合山市| 莆田市| 赣榆县| SHOW|