стороне сервера у меня отправляется вот такое сообщение (сервер на python + fastapi):
event = Event(reload=ReloadEvent(ts=dt.datetime.now()))
await backend_app.ws.send_bytes(bytes(event))
На клиенте (браузер) я пытаюсь его вот так почитать:
import * as proto from "./proto_gen/protobuf/message";
socket.onmessage = (raw_event: MessageEvent<any>) => {
// all incoming messages are protobuf encoded
let event = proto.Event.decode(new Uint8Array(raw_event.data));
console.log(event);
Но он читает все сообщения как пустые. protobuf определение вот такое:
syntax = "proto3";
import "google/protobuf/timestamp.proto";
package blah;
message ReloadEvent {
google.protobuf.Timestamp ts = 1;
}
message Event {
oneof event {
ReloadEvent reload = 1;
}
}
что тут может быть не так?
это помогло, спасибо большое!
сам с таким играюсь)
Обсуждают сегодня