先说明,不提供生成SPB文件的方法,我自己是用服务器生成的,客户端和服务器公用一份,这样不用两边都修改。
js版的代码 是用这个https://github.com/zhangshiqian1214/sproto-js
只需要里面的sproto.js文件和utils.js两个
首先是读取 spb文件,s2c是服务端到客户端的协议spb文件,c2s是客户端到服务端的协议spb文件。
然后就是发送数据。
这样就可以发送数据了。
不过前提是websocket 你要设置一下

这样才能正确的发送二进制流
然后send_msg中的packbyte方法是我自己加的一个,在字节流前两位用大端的方式 表示数据的长度。
这个看你们服务端自己约定。
最后就是收消息
最终的re就是反序列化之后的明文数据了。
不过我修改了一下sproto.js
这个是为了针对c2s中 有response的那种协议:
c2s_signin_account 2 {
request {
UserCode 1 : string #验证登录用的
LoginToken 2 : string #验证登录用的
GameId 3 : string #验证登录用的
GameKey 4 : string #验证登录用的
}
response {
result 0 : integer # 登录结果 1表示登录成功 2 SDK验证失败
}
}
加了可以知道是哪条协议的response
好了。完




