我正在使用 cocoaasyncsocket 将数据 Google 协议缓冲区(使用http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers)发送到 Java 服务器。这一切都很好,但是对于消息(protoToSend)>128bytes 我遇到了问题,因为 Java 服务器无法正确读取消息长度,我想是因为我从 Objective C 发送了错误的长度。
我目前发送数据如下:
AsyncSocket *socket;
- (void)sendProtoToServer:(RequestMessage *)protoToSend {
NSData *d = [protoToSend data];
int s = [protoToSend serializedSize];
NSData *size = [NSData dataWithBytes:&s length:1];
[socket writeData:size withTimeout:TIME_OUT tag:100];
[socket writeData:d withTimeout:TIME_OUT tag:101];
}
有任何想法吗?
提前致谢