我正在为Nginx编写一个lua脚本,以便与提供我必须遵守的协议的服务器进行通信。并且协议接受带有struct成员的结构,我找不到用lua包装它的方法。
require "struct"
-- struct udp_packet_header {
-- uint32_t head_token;
-- uint64_t uuid;
-- uint64_t timestamp;
-- uint32_t order;
-- uint32_t trans_size;
-- uint32_t https_size;
-- uint16_t head_crc;
-- };
local udp_packet_header_def = '<ILLIIIH'
-- struct udp_packet {
-- struct udp_packet_header header;
-- char data[];
-- };
local udp_packet_struct_def = ?
如上所述,如何使用结构成员udp_packet
打包结构header
?
我检查了https://github.com/iryont/lua-struct,但没有发现任何有用的内容。
这样做甚至可能吗?如果没有,有更好的方法吗?也许编写C代码并从lua调用它?