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

从套接字IOS读取数据时,消息被重复,ios,sockets,serversocket,Ios,Sockets,Serversocket,我已经建立应用程序使用套接字在两个设备之间传输数据。但当我试图从套接字读取数据时,我遇到了一个问题。 这是用于从套接字读取消息的代码 while (1) { UInt8 bufr[802400]; int bytesRead = CFReadStreamRead(_readStream, bufr, sizeof(bufr)); if(bytesRead >0 ){ NSLog(@"Read: %d", bytesRead); N

我已经建立应用程序使用套接字在两个设备之间传输数据。但当我试图从套接字读取数据时,我遇到了一个问题。 这是用于从套接字读取消息的代码

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);
        }

    }
}
但我要重复的是:

我有两个会议:信息A和信息B

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

第二次我收到消息a和消息B的一部分

请告诉我怎么修

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


谢谢。

此代码有很多错误。我会说扔掉它,改用AFNetworking。你能告诉我这有什么错吗?。我想使用socket,因为我想用android设备传输数据。你最后的评论揭示了很多你不理解的地方。AFNetworking也使用套接字,能够处理来自任何类型对等方的任何类型的数据。