У меня есть простой класс с двумя полями в файле proto: (proto3)
enum MaestroMsgType
{
EVAL = 0;
GET_ACK = 1;
GET_AN = 2;
}
message MaestroMsg
{
MaestroMsgType msgType = 1;
string maestroMsg = 2;
}
Я пытаюсь отправить (с netMQ, но это менее важно) форму класса C # на python. Но в python при попытке вернуть данные обратно в формат класса это не получается.
Отправка в C #:
MaestroMsg maestroMsg = new MaestroMsg
{
MaestroMsg_ = "someMessage",
MsgType = MaestroMsgType.GET_AN,
};
string messageToSend = maestroMsg.ToString();
NetMQMessage msg = new NetMQMessage();
msg.Append(messageToSend);
_pubSocket.SendMultipartMessage(msg);
Код в python, получающий сообщение:
received_message = sub_socket.recv_multipart()
maestroMsg_object = MaestroMsg()
maestroMsg_object.ParseFromString(received_message.encode())
И я получаю это сообщение об ошибке:
google.protobuf.message.DecodeError: Error parsing message
Я понятия не имею, что я делаю неправильно.
Спасибо за ответы.