binn serialization - 用于从套接字读取binn对象的正确语法

时间:2017-09-02 12:45:08

标签: c sockets serialization deserialization

我正在尝试从套接字读取binn对象而无法获取数据, 例如,它是一个int。

binn是二进制序列化格式。 详细信息可以在这里找到: https://github.com/liteserver/binn

发送:

binn * obj = binn_object();

binn_object_set_int32(obj, (char*)"dst_enclave", 12345678);

int socket = clSockFd;

if (send(socket, binn_ptr(obj), binn_size(obj), 0) != binn_size(obj)) {
    printf("SENDER -- failed to send msg1 to dest\n");
    abort();
}
binn_free(obj);

并试图收到:

binn * obj = binn_object();

if (recv(servSockFd, binn_ptr(obj), binn_size(obj), 0) < 0) {
    printf("LISTENER -- failed to read msg1 from src\n");
    abort();
}

int test = binn_object_int32(obj, (char*)"dst_enclave");

从套接字读取后,我在测试中得到0值。

我已经阅读了binn的文档,但是他们没有详细说明如何恢复。 也搜索了网络。

btw问题不在于套接字,我在此之前收到其他消息。

0 个答案:

没有答案