(十二)nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器
上個(gè)章節(jié)我們簡(jiǎn)單介紹了下pomelo的安裝和目錄結(jié)構(gòu),有讀者可能覺(jué)得有點(diǎn)吃不消,為什么不再深入講一講目錄結(jié)構(gòu)和里邊的庫(kù),這里我就不費(fèi)口舌了,大家可以去官網(wǎng)參考文檔說(shuō)明,本文只告訴大家如何利用這個(gè)框架來(lái)開(kāi)發(fā)自己的東西。
隨著文章的后續(xù)不斷推進(jìn),我相信大家會(huì)越來(lái)越熟悉pomelo,對(duì)豬場(chǎng)框架的使用也會(huì)越來(lái)越得心用手。
為什么是聊天服務(wù)器?
我們目標(biāo)是搭建游戲服務(wù)器,為什么從聊天開(kāi)始呢?
聊天可認(rèn)為是簡(jiǎn)化的實(shí)時(shí)游戲,它與游戲服務(wù)器有著很多共通之處,如實(shí)時(shí)性、頻道、廣播等。由于游戲在場(chǎng)景管理、客戶(hù)端動(dòng)畫(huà)等方面有一定的復(fù)雜性,并不適合作為 pomelo 的入門(mén)應(yīng)用。聊天應(yīng)用通常是 Node.js 入門(mén)接觸的第一個(gè)應(yīng)用,因此更適合做入門(mén)教程。
一個(gè)聊天系統(tǒng)我們?cè)O(shè)計(jì)思路是客戶(hù)端連接gate網(wǎng)關(guān)服務(wù)器,由gate網(wǎng)關(guān)服務(wù)器根據(jù)玩家的uid的crc32的校驗(yàn)碼與connector服務(wù)器的個(gè)數(shù)取余,從而得到一個(gè)connector服務(wù)器,把這個(gè)connector服務(wù)器分配給請(qǐng)求用戶(hù),那么客戶(hù)端就可以通過(guò)此connector服務(wù)器建立連接,而和connector服務(wù)器保持連接的是chat邏輯服務(wù)器,所有的邏輯處理交給connector發(fā)起remote的RPC調(diào)用。
新建gate和chat服務(wù)器
在app/servers目錄下新建gate和chat服務(wù)器。
gate服務(wù)器:
在一般情況下用戶(hù)量一臺(tái)機(jī)器就可以支撐,但用戶(hù)量多了就得橫向擴(kuò)充服務(wù)器(在gate服務(wù)器之前通過(guò)nginx反向代理做端口轉(zhuǎn)發(fā),相關(guān)文章可以參考我之前的
總結(jié)
以上是生活随笔為你收集整理的(十二)nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (十三) 深入浅出TCPIP之TCP套接
- 下一篇: PaperNotes(15)-图神经网络