今天打開我原來的編寫的unity3d遊戲代碼,一看發現還有個聊天的功能沒有加上去。算法
用GO語言來編寫聊天服務器再好不過,由於目前的遊戲服務器通常有各類框架,輪子不用造了,並且輪子很容易造出錯,而聊天服務器是比較容易替換的一類的,難度也不大。服務器
聊天具體流程是這樣,先登陸賬號,獲取token,驗證賬號能夠POST或者直接TCP驗證,通常來講直接POST提交,返回token,token的算法網站服務器在設置。負載均衡
賬號驗證成功後先鏈接GO語言編寫的聊天服務器,服務器返回隨機加密密鑰,服務器同時保存密鑰,甚至能夠隔斷時間生產新的密鑰,客戶端根據密鑰解密後同時把密鑰保存本地,再次加密提交握手協議,驗證成功後,提交根據保存在本地密鑰進行加密token,userid,userName, timestamp、IP(可在服務器獲取)等等。框架
提交聊天的信息,根據本地的密鑰進行加密。分佈式
客戶端發言的時候,服務器設置敏感詞TXT文本,一旦發現有敏感詞,在服務器就替換成****之類,或者在客戶端驗證敏感詞,有的話不顯示徹底。網站
考慮到人數多的緣由,其實能夠搞個分佈式的聊天服務器,進行負載均衡。加密
我只是談談我的的想法。根據我這些年反編譯了100多個FLASH網遊 、上百個安卓APK的經驗,這是最好的方法。3d