今天打开我原来的编写的unity3d游戏代码,一看发现还有个聊天的功能没有加上去。
用GO语言来编写聊天服务器再好不过,因为目前的游戏服务器一般有各种框架,轮子不用造了,而且轮子很容易造出错,而聊天服务器是比较容易替换的一类的,难度也不大。
聊天具体流程是这样,先登录帐号,获取token,验证帐号可以POST或者直接TCP验证,一般来说直接POST提交,返回token,token的算法网站服务器在设置。
帐号验证成功后先连接GO语言编写的聊天服务器,服务器返回随机加密密钥,服务器同时保存密钥,甚至可以隔断时间生产新的密钥,客户端根据密钥解密后同时把密钥保存本地,再次加密提交握手协议,验证成功后,提交根据保存在本地密钥进行加密token,userid,userName,timestamp、IP(可在服务器获取)等等。
提交聊天的信息,根据本地的密钥进行加密。
客户端发言的时候,服务器设置敏感词TXT文本,一旦发现有敏感词,在服务器就替换成****之类,或者在客户端验证敏感词,有的话不显示完全。
考虑到人数多的原因,其实可以搞个分布式的聊天服务器,进行负载均衡。
我只是谈谈个人的想法。根据我这些年反编译了100多个FLASH网游 、上百个安卓APK的经验,这是最好的方法。
原文链接:https://www.f2er.com/go/188774.html