[英]how to send and recv c struct between udp server(in c) and udp client(python)?
我有這個結構
struct Data
{
int id;
int msglen;
char msg[100];
}
我需要在 udp 服務器和 udp 客戶端之間傳遞這個結構。udp 客戶端是基於 Z23EEEB4347BDD26BDDFC6B7EE 的。
首先,您需要將結構數據編碼到單個二進制緩沖區中
#include <endian.h>
...
struct Data d { ... };
uint32_t be_id = htobe32(d.id);
uint32_t be_len = htobe32(d.msglen);
size_t pos = 0;
uint8_t buf[sizeof(struct Data)];
memcpy(buf, (const void *)&be_id, sizeof(be_id));
pos += sizeof(be_id);
memcpy(buf + pos, (const void *)&be_len, sizeof(be_len));
pos += sizeof(be_len);
memcpy(buf + pos, (const void *)d.msg, sizeof(d.msg));
然后發送緩沖區,並從另一端解析它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.