用c语言写的socket编程。传输的数据流是自定义tlv格式的,len有没有必要转换成网络字节序

发布于 2021-11-15 02:19:37 字数 473 浏览 902 评论 6

我send的流是用自定义tlv格式的,

假如说我要send的是buf ,buf的头4个字节存储的是type,再4个字节是value的length,在就是value

比如char  buf[64];

type使用了自定义的数字宏,

#define     TYPE    0x1

len是用了整形

int length= 20;

都是mem函数上去的.

int type = TYPE;

memcpy(buf,&type,4);

memcpy(buf+4,&length,4)

value是什么就先不管了。

这里最终我是要将这个buf发送出去的,但是buf不buf的前4个字节,和迪5到8字节都是memcpy进去的整数,

我需要转换为网络字节序吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

深巷少女 2021-11-20 23:56:43

转换是为了兼容不同的平台,可以约定均为小端或者均为大端,然后从代码里面做兼容

终陌 2021-11-20 23:48:25

cccc

草莓味的萝莉 2021-11-20 23:45:46

一个标准的协议应该是基于字节的,电信SMGP协议里就有tlv可选参数,最后还是byte数组

毁梦 2021-11-20 22:59:53

要转,你也可以保存为字符串

怎言笑 2021-11-15 18:49:02

一个系统上的就不用转了,不同的话要转一下

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文