socket协议设计疑问

vikde 发布于 2016/06/07 11:20
阅读 306
收藏 0

请求协议:

当前设计的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是否暴露了加密算法,有这方面经验的能提供一下你们现在的解决方案不,一点参考,或者有问题和疑问的地方也可以指出


加载中
0
beyondforever68
beyondforever68
body部分不做加密吗
不日小鸡
body的加salt值MD5.定长32位。
0
vikde
vikde

body的签名可以不需要传递,直接通过foot的md5已经表达了这个意思。

这个协议在websocket下头是不能使用的,webscoket有自己的消息头。

0
dreamsfly
dreamsfly

Universal-Data-Communication-System-for-windows是通用数据传输-socket构架。码云开源项目

可通过10行代码完成全语言支持socket

此软件适用于,游戏服务端,及时通讯,数据传输,物联网数据获取,云数据互通,等大部分与网络数据传输有关的项目软件。数据内容可通过实体类对象之间发送出去,以JSON 数据形式编码,速度快,操作简单,数据安全。

此软件的基本思想是为了建立一套简单稳点可多负载的架构,通用数据通讯构建,设计基于TCP通信的交互框架。可支持,B/C(websocket),C/S,手机移动标准化的通信方式。达到后台业务一次编写,前台展示全线支持的目的。还可根据网络及负载 情况分布式部署网管与服务。

返回顶部
顶部