【发布时间】:2012-09-28 06:40:47
【问题描述】:
我有一个 iOS 应用程序,我在其中使用 NSInputStream(基于 CFReadStreamRef)从网络套接字读取。我不断从服务器获取数据并不断读取和处理它(使用 read:bytesBuffer maxLength:l)。前几次它工作正常,但在大约第 20-25 次读取时,此方法报告它读取了 HUGE 字节数,例如4,294,967,295 个字节,而我真正要求的最大值是 1-3MBytes。这很奇怪,似乎是 NSInputStream/CFReadStream API 中的一个错误。
我的应用程序最终崩溃,因为它试图将所有这些字节加载到一个没有为返回的字节数分配的缓冲区中(并且服务器一开始就没有返回这么多字节!)
以前有人遇到过这个问题吗?
谢谢!
【问题讨论】:
标签: objective-c ios tcp nsinputstream