从套接字IOS读取数据时重复消息

时间:2014-10-15 02:42:54

标签: ios sockets serversocket

我已经构建了app use socket来在两个设备之间传输数据。但是当我尝试从套接字读取数据时,我遇到了问题。 这是用于从套接字读取消息的代码。

while (1) {
    UInt8 bufr[802400];

    int bytesRead  = CFReadStreamRead(_readStream, bufr, sizeof(bufr));
    if(bytesRead >0 ){
        NSLog(@"Read: %d", bytesRead);
        NSString *jsonStr = [NSString stringWithUTF8String:(char*)bufr];
        NSLog(@"Message: %@", jsonStr);
        }

    }
}

但我的信息重复:

示例i有两个meesage:消息A和消息B.

消息A我第一次收到套接字。

第二次,我收到了消息A和消息B的一部分。

请告诉我如何解决这个问题。

顺便告诉我如何在读取数据时限制消息的字节。因为如果我的缓冲区是两个小的,当我读取数据时jsonStr总是为空。

感谢。

0 个答案:

没有答案