xml/json/protobuf转换时 ipv4 ipv6的特殊处理

  由于IPV4地址为32bits,所以可以使用uint32 来替换,也就是存储到protobuf的时候使用uint32,当转换为xml/json的时候使用转化为为点分制192.168.1.1 这种形式使用;

struct in_addr tmp_addr;
 tmp_addr.s_addr = *(const int32_t*)member;

  对于IPV6 地址为128bits, 16字节;所以可以使用BYTES来替换,也就是存储到protobuf的时候使用bytes,当转换为xml/json的时候使用转化为为2001:410:0:1:0:0:0:45ff 这种形式使用;

以上上述代码已经提交到私人github

posted @ 2022-02-18 10:00  codestacklinuxer  阅读(59)  评论(0)    收藏  举报