У меня есть приложение iOS, в котором я использую NSInputStream (на основе CFReadStreamRef) для чтения из сетевого сокета. Я продолжаю получать данные с сервера, продолжаю читать и обрабатывать их (используя read:bytesBuffer maxLength:l). Первые несколько раз он работает нормально, но примерно при 20-25-м чтении этот метод сообщает, что он прочитал ОГРОМНОЕ количество байтов, например. 4 294 967 295 байт, когда я действительно просил максимум, скажем, 1-3 МБ. Это странно и похоже на ошибку в NSInputStream/CFReadStream API.
Мое приложение в конечном итоге падает, поскольку оно пытается загрузить все эти байты в буфер, который не выделен для количества возвращаемых байтов (и сервер не возвращает столько байтов в первую очередь!)
Кто-нибудь сталкивался с этой проблемой раньше?
Спасибо!