遊戲伺服器開發所需知識點總結

不會飛的章魚發表於2018-08-30

之前在做註冊登入伺服器邏輯時,遇到的一些要點難點,記錄於此。

一、基礎必備技能

1,掌握至少一門用於後端開發的程式語言,如C/C++、Java、Go等;

2,理解TCP/UDP的機制,Socket程式設計,分包粘包實現的原理;

3,Protobuf協議,RPC協議;

4,資料庫操作,例如MySQL,Redis;

5,對伺服器架構有一定了解,比如知道叢集怎麼搭建,因為這涉及到多臺伺服器,例如聊天服、戰鬥服、登入註冊服。

二、客戶端與伺服器端的通訊

1,TCP機制、分包粘包,讓服務端知道如何處理從客戶端那接收來的訊息;

2,設定協議號,就像伺服器端與客戶端之間約定好的暗號,客戶端發來訊息時客戶端接收到訊息看到“暗號”後就知道客戶端要幹什麼;

3,定通訊協議,我用的是Google Protobuf;

4,熟練掌握用Go語言運算元據庫,因為使用者註冊時的資料都要及時儲存進資料庫,方便以後增刪改查。

三、通訊安全

1,知道為什麼會要有執行緒安全的概念,如果多人對一組資料同時讀和寫會造成什麼後果?

2,加鎖的概念與運用;

3,多執行緒的弊端。

四、其他

1,瞭解心跳機制,為什麼要設立心跳機制;

2,使用者在註冊時如何處理不合理和重複的字元;

五、小結

以上就是我目前接觸到的技術要點,有些也是難點。

註冊登入涉及整個網路遊戲的基礎,因此一定要從嚴要求,收發資料與安全這塊絕對不能出錯。

由於之前寫了個聊天室(聊天室程式碼地址),又因為接觸了註冊登入選服選角,因此我在github上開了個QQdemo的專案,歡迎各位有興趣的一起fork或star。(QQdemo-正在抽時間更新)

相關文章