1
protobuf 메시지를 서버 측 (base64 문자열)에서 javascript 객체로 디코딩하려고합니다. protobuf.js 디코딩에 사용합니다. 문서로 protobuf base64 문자열을 js 객체로 디코딩하는 방법
제안 :var builder = ProtoBuf.newBuilder({ convertFieldsToCamelCase: true });
var YourMessage = builder.build("YourMessage");
var buffer = ...; // E.g. a buffer received on a WebSocket
var myMessage = YourMessage.decode(buffer);
...
var b64str = ...; // E.g. a string fetched via AJAX
var myMessage = YourMessage.decode64(b64str);
이 내가 그것을 수행하려고하는 방법이다 (데이터 - base64로 문자열) : 정의되지 않은
var proto = dcodeIO.ProtoBuf;
var buffer = dcodeIO.ByteBuffer;
var b = buffer.wrap(data,"binary");
var builder = proto.newBuilder({ convertFieldsToCamelCase: true });
builder.define("Events");
var message = builder.build("Events");
var result = message.decode(b); //also try to decode base64 string - message.decode64(data);
내가 얻을 오류
디코딩/decode64을
proto 파일 또는 protobuf 스키마를 정의하는 텍스트에서로드하는 코드에서 볼 수 없습니다 . 'ProtoBuf.loadProtoFile ("tests/example1.proto", builder);와 같은 줄이 있어야한다.'.proto 정의가 어디에 있는지 알려준다. 그게 빌더가 메시지를 생성하지 못하고 당신이 얻고있는 null 값을 설명 할 것입니다. –
@PhilipPryde 감사합니다. 나는 디스크립터를 잃어 버렸습니다. –
그러면 그게 효과가 있었나요? 그렇다면 대답에 대한 내 의견을 부딪 칠 것입니다 ... –