socket协议设计疑问
请求协议:
当前设计的socekt通信协议,包含head,body,foot.
head长度8字节,前4个表示body长度,后4个表示协议版本号
body是变长的json字符串,包含字段:method(方法)、args(参数)、username(用户名)、platform(平台)、randomCode(随机数)、requestTime(请求时间)、signature(签名,客户端通过密码和时间随机数等计算出来)
foot是对前面head,body的加salt值MD5.定长32位。
返回协议:
结构和请求一样,body中的json格式为: code(状态码)、message(消息)、total(总量)、count(当前查询量)、data(数据)、responseType(返回的类型、比如是其他平台登录时收到的异步内容)。
传输数据可以使用gzip压缩。
现在提出这样的结构,在实际项目中是否有具体的问题,比如签名问题,使用websocket是否暴露了加密算法,有这方面经验的能提供一下你们现在的解决方案不,一点参考,或者有问题和疑问的地方也可以指出
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Universal-Data-Communication-System-for-windows是通用数据传输-socket构架。码云开源项目
可通过10行代码完成全语言支持socket
此软件适用于,游戏服务端,及时通讯,数据传输,物联网数据获取,云数据互通,等大部分与网络数据传输有关的项目软件。数据内容可通过实体类对象之间发送出去,以JSON 数据形式编码,速度快,操作简单,数据安全。
此软件的基本思想是为了建立一套简单稳点可多负载的架构,通用数据通讯构建,设计基于TCP通信的交互框架。可支持,B/C(websocket),C/S,手机移动标准化的通信方式。达到后台业务一次编写,前台展示全线支持的目的。还可根据网络及负载 情况分布式部署网管与服务。
body的签名可以不需要传递,直接通过foot的md5已经表达了这个意思。
这个协议在websocket下头是不能使用的,webscoket有自己的消息头。
body的加salt值MD5.定长32位。
body部分不做加密吗