Привет, прото файл выглядит следующим образом:
enum Type
{
A = 0;
B = 1;
C = 2;
}
message Message
{
User to = 1;
User from = 2;
Type type = 3;
}
Я использую protoc компилятор, чтобы преобразовать его в служебные классы JavaScript. Используя этот сгенерированный файл javascript, я настроил объект Message в своем приложении следующим образом:
const message = new Main.Message()
message.setTo(this.user1) // saved user
message.setFrom(this.user3) // saved user
message.setType(0) // trying to set type to A
const buffer = message.serializeBinary()
socket.send(buffer)
Проблема, с которой я сталкиваюсь, заключается в том, что поля сообщения to
и from
обновляются правильно, но type
остается null
! Я не могу найти решение для этого.
Это потому, что в Message
прото, ожидаемый тип как Enum? Но это javascript не представляется возможным. Как установить ожидаемые значения enum при создании protobuf для отправки?
Примечание:
Я заметил, что эта проблема возникает, только когда я пытаюсь установить zero
значение для типа Enum!