免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: DesignInside
打印 上一主题 下一主题

[C] 不同平台,数据如何传输 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-26 16:07 |只看该作者
原帖由 DesignInside 于 2008-12-26 15:54 发表
搜了一把
发现一段话

同构平台间,直接发就可以了,不需要 ntohs。
异构平台间,两边 #pragma pack(1),并 htons/ntohs。


不全面。

不自定协议:你无法确定要收多少数据, 你也无法知道这些数据是属于哪个结构的 。
除非你就只用一个结构。

论坛徽章:
0
12 [报告]
发表于 2008-12-26 16:21 |只看该作者
不管怎么说,为了代码的可移植性,你都应该使用ntohl,htonl这类函数进行字节序的转换。
你不必关心你现在的系统是大端还是小端的。从主机发到网络上的调用htonl
从网络接收到主机的数据调用ntohl

论坛徽章:
0
13 [报告]
发表于 2008-12-26 16:22 |只看该作者

回复 #10 langue 的帖子

谢谢 有空我会看看

to 老手 我现在的情况就是使用一个结构体,所以我觉得是可以的:wink:

谢谢cugb_cat 虽然你说的我都不是很懂(http怎样传输我真的不知道--!),但是我会去慢慢学习的...

论坛徽章:
0
14 [报告]
发表于 2008-12-26 16:36 |只看该作者
tcp udp 层,不用大管大端小端吧这些是ip底层的问题吧.

难道用tcp 发过去一个 int i=0x1
tcp一收会变成0x8000?
不会吧

论坛徽章:
0
15 [报告]
发表于 2009-01-02 11:50 |只看该作者
网路传输是大端
如果一侧是大端就直接用,如果另一端不是大端,linux下转化函数,忘记叫叫什么了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP