Я пытаюсь отправить сообщение с кода Python на C# через ZeroMQ. Я использую следующую структуру данных в Python:Распаковка созданного Python MessagePack в C# приводит к тому, что «Unpacker не находится в заголовке массива»
message = msgpack.packb(
(
{"message_id": "1001", "type": "GET", "namespace": "DocumentManager"},
"MdiActiveDocument",
["parameter1", "parameter2"]
)
)
message = msgpack.packb(message)
alive_socket.send(message)
Попытка распаковать его с помощью C#, используя следующий код:
var message = new byte[500];
int result = this.Client.Receive(message);
var serializer =
MessagePackSerializer.Get<Tuple<Dictionary<string,string>, String, List<String>>>();
var reply = serializer.UnpackSingleObject(message);
Это приводит к ошибке:
Additional information: Unpacker is not in the array header.
The stream may not be array.
У меня есть попробовал упростить структуру данных, но я все еще не могу понять это правильно. Возможно, мое использование MsgPack ошибочно. Заранее благодарю за любую помощь.