【发布时间】:2017-03-01 13:42:57
【问题描述】:
我正在实现一个从客户端接收字节流的服务器。
流使用 msgpack 序列化,(序列化的第一件事是剩余流的长度)。
我的问题是,在 C 中接收此流的正确方法是什么?
在python中我可以这样做:
# Feed each byte into the Unpacker
unpacker.feed(client.recv(1))
# Unpack whatever we can from the bytes we have received
for value in unpacker:
print(value)
有没有办法在 C 中做到这一点?
【问题讨论】:
-
“我有什么办法可以用 C 语言做到这一点吗?” 方法什么? 您是要我们为您编写解码器吗?
-
你可能需要一个结构,你为什么要这样做?
-
我有一个结构,但我收到的第一件事是整个缓冲区的大小(因为我可以接收不同类型的消息)。无论如何,我要问的是如何接收和使用 msgpack 逐字节解码流(就像在 python 脚本中一样)
-
您可以发布来自客户端的输入之一吗?使用 python 服务器你可以做
print client.recv()。这将有助于我们更好地理解您的问题。
标签: c msgpack messagepack