NodeJS使用静态Protocolbuf.js
2018-08-28 本文已影响0人
小王子称号发放NPC
1、首先编写C2S.proto文件
package C2S;
message LogInInfo{
required string userName = 0;
required string passWord = 1;
}
2、生成静态的C2S.js
见《生成静态Protobuf.js的命令》
3、发送
发送需要两个东西:
一、writer,用来encode协议体,生成buffer
二、协议体,将要发送的信息放入协议体中
var C2SProto = require('./protocol/C2SProtocol');
sendLogIn(){
var writer = C2SProto.C2S.LogInInfo;
var loginProtocol = C2SProto.C2S.LogInInfo.create();
loginProtocol.userName = '111';
loginProtocol.passWord = '222';
var buffer = writer.encode(loginProtocol).finish();
this.socket.emit('login_info',buffer);
}
注:.finish()这个是不能少的
4、接收
需要一个reader将收到的data进行decode:
var reader = C2SProto.C2S.LogInInfo;
var decodeData = reader.decode(data);