我正在编写一个小应用程序,它本质上是在 SOAP 中来回交换 XML。我有一个基于 OS X 的服务器和一个 iPad 客户端。我KissXML
在客户端上使用,在服务器上使用内置的 XML 解析器。我使用GCDAsyncSocket
两者进行交流。
当我在 iPad 模拟器上测试我的应用程序时,会出现完整的 XML。一切正常。
但是,当我使用我的开发设备(实际的物理 iPad)时,其他一切正常,但 XML 在第 1426 个字符之后终止。我已验证此错误发生在多台 iPad 上。
当我订阅GCDAsyncSocket
我使用
的传入数据包时[sock readDataWithTimeout:-1
buffer:[NSMutableData new]
bufferOffset:0
maxLength:0
tag:0];
,以前只是一个简单的[sock readDataWithTimeout:-1 tag:0];
但两者都有相同的结果。似乎 GCDAsyncSocket 无论如何都不应受到责备,因为在模拟器上执行很好。请注意,0
atmaxLength
表示“无限”缓冲区。
有谁知道是什么原因造成的?