今天打开我原来的编写的unity3d游戏代码,一看发现还有个聊天的功能没有加上去。
我的想法是这样。
聊天具体流程是这样,先登录帐号,获取token,验证帐号可以POST或者直接TCP验证,一般来说直接POST提交,返回token,token的算法网站服务器在设置。
帐号验证成功后先连接GO语言编写的聊天服务器,服务器返回随机加密密钥,服务器同时保存密钥,甚至可以隔断时间生产新的密钥,客户端根据密钥解密后同时把密钥保存本地,再次加密提交握手协议,验证成功后,提交根据保存在本地密钥进行加密token,userid,userName, timestamp、IP(可在服务器获取)等等。
提交聊天的信息,根据本地的密钥进行加密。
客户端发言的时候,服务器设置敏感词TXT文本,一旦发现有敏感词,在服务器就替换成****之类,或者在客户端验证敏感词,有的话不显示完全。
考虑到人数多的原因,其实可以搞个分布式的聊天服务器,进行负载均衡。
考虑到复杂环境
有疑问加站长微信联系(非本文作者)