Я чувствую, что мне не хватает какой-то фундаментальной информации, однако проблема, с которой я сталкиваюсь, заключается в том, что я получаю один пакет данных, который состоит из двух объединенных других пакетов.Серверный API работает правильно, это объединение происходит только тогда, когда происходит несколько операций записи и чтения одновременно.Итак, вопрос в том, выполняет ли сервер несколько операций записи через сокет, кто отвечает за определение того, где начинается, заканчивается пакет и где начинается второй пакет?Я или CFReadStreamRead?
В настоящее время я использую AsyncSocket, который является оболочкой для CFNetwork, но ИМХО проблема как-то связана с самим CFReadStreamRead: иногда он читает два пакета как один, а не читает их отдельно.Мне не удалось найти относительные примеры и информацию о том, как протекает поток, когда происходит несколько операций записи и чтения одновременно, и нужно ли мне явно что-то делать, чтобы захватить пакет, или мне нужно вручную отделить эти пакеты от поступающего потока данных?Хотя CFReadStreamRead уже делает это, но, возможно, мне не хватает чего-то.