之前在做注冊登錄服務器邏輯時,遇到的一些要點難點,記錄於此。
一、基礎必備技能
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,用戶在注冊時如何處理不合理和重復的字符;
五、小結
以上就是我目前接觸到的技術要點,有些也是難點。
注冊登錄涉及整個網絡游戲的基礎,因此一定要從嚴要求,收發數據與安全這塊絕對不能出錯。