【发布时间】:2016-03-25 10:11:50
【问题描述】:
我想为以下结构创建一个字节存储并将两个变量(tag 和i/d)放入存储中。然后我想在一次写入中将存储写入TcpStream;由于服务器端的错误,我无法通过多次调用来完成。
我需要使用涉及联合的 C 风格 API。结构体总大小为 12 字节:
struct element {
int tag;
union {
int i; double d;
} data;
}
我该怎么做?也许有更好的方法?
【问题讨论】:
-
由于服务器端的一个错误,我不能通过多次调用来做到这一点 - 仅仅因为你在一次调用中编写它并不意味着服务器会一口气读完。这取决于网络如何在机器之间路由数据包。
-
我知道这一点。事情是,开发服务器端的白痴,实际上确实期望整个结构会立即出现。如果不是这种情况,它会崩溃。除非明确指出,否则 24 字节应该在单个数据包中出现,这很好……这就是我试图避免的。
标签: pointers networking types casting rust