【发布时间】:2013-11-21 07:22:20
【问题描述】:
我正在阅读此example,了解如何将 NSData 用于网络消息。
在创建 NSData 时,示例使用:
unsigned int state = htonl(_state);
[data appendBytes:&state length:sizeof(state)];
将 NSData 转换回来时,示例使用:
[data getBytes:buffer range:NSMakeRange(offset, sizeof(unsigned int))];
_state = ntohl((unsigned int)buffer);
这个例子中是不是不用htonl和ntohl? - 由于数据是在 iOS 设备上打包/解包的,字节顺序不会相同,因此不需要使用 htonl 和 ntohl。 - 是不是使用方式不对?示例使用htonl打包,ntohl解包。但实际上,不应该只在知道发送方或接收方使用特定格式的情况下才这样做吗?
【问题讨论】:
标签: ios objective-c macos intel htonl