通过套接字发送结构/类对象

时间:2015-06-29 14:00:09

标签: c++ sockets struct io send

如果我错了,请纠正我。

struct st {
    int a, b, c;
}

struct st test = {1, 2, 3};
send(socket, (char *) &test, sizeof(test), 0);

现在另一方面我应该如何收到它?这样的事情会起作用吗?

struct st received;
read = recv(socket, (char *) & received, sizeof(st), 0);

这里的问题是如果它不能立即读取整个结构,只有一些字节(数量存储在读取中)。如果我现在想要在此结构中附加更多字节来完全读取它,那么下面的代码是否正确?

recv(socket, (char *) &received + read, sizeof(st) - read, 0);
等等? 当然,这将持续到读取所有字节为止。

0 个答案:

没有答案