protobuf

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);

上一篇下一篇

猜你喜欢

热点阅读