之前在做注册登录服务器逻辑时,遇到的一些要点难点,记录于此。
一、基础必备技能
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,用户在注册时如何处理不合理和重复的字符;
五、小结
以上就是我目前接触到的技术要点,有些也是难点。
注册登录涉及整个网络游戏的基础,因此一定要从严要求,收发数据与安全这块绝对不能出错。