【发布时间】:2012-08-19 17:49:27
【问题描述】:
我想通过 iOS 设备通过 BSD Socket 发送图像。
众所周知,一张图片被分成几个包发送出去,所以接收方需要图片的大小。
所以我想在图片二进制数据的开头插入大小。
NSData* image = UIImagePNGRepresentation(screenShot);
NSUInteger len = [image length];
NSMutableData *header = [[NSMutableData alloc] initWithBytes:&len length:sizeof(NSUInteger)];
[header appendData:msg];
Receiver 获取 NSData 并解析
NSUInteger len;
[header getBytes:&len length:sizeof(NSUInteger)]
我尝试插入 int、char 和 NSString,但我从来没有得到正确的大小数字。我的解决方案有什么问题? 还有更好的吗?
【问题讨论】:
-
你的代码没问题。一定是别的东西。