我从TCP套接字连接读取数据,但服务器会不时地向我发送\0(这将标记消息的结尾)。因此,我没有得到其余的信息。
我是这样读的:
uint8_t buf[tcpBufferSize];
unsigned int len = 0;
len = [inputStream read:buf maxLength:tcpBufferSize];
if(len > 0) {
NSMutableData* data=[[NSMutableData alloc] initWithLength:0];
[data appendBytes: (const void *)buf length:len];
NSString *s = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
//here s will be only the part before the \0
[s release];
[data release];
}
例如,如果服务器发送abc \0de y,则仅获取abc,因为\0标记结束。
我怎样才能收到全部信息??