事情是这样的:
我使用AsyncSocket连接服务器。当服务器向客户端at a time
发送一些字节时,app将调用(onSocket: didReadData: withTag:
)方法;有时,由于网络或其他原因,一些字节到达,其余字节到达(这意味着一些字节被延迟)。(timeOut = -1)
==================================
问题:该方法(onSocket: didReadData: withTag:
)调用了多少次?
1)只有一次 - 它会自动等待,直到字节完成?
2)2次或更多次 - 一些到达(调用),其他到达(调用),,,,,喜欢这样?
===================================
哪些想法是对的?请给我一些建议。非常感谢。
答案 0 :(得分:0)
好的,也许就是这样。
在TCP上传输数据:当您一次发送1000个字节时,由于延迟或其他原因,您可能会先收到900个字节,但TCP套接字将等待其余100个字节 自动。因此,如果我使用asyncSocket传输数据并设置超时,那么在这几秒钟内,我不需要处理滞后数据。
=========================
修改强>
也许问题的标题不合适,没有人关心这个问题。
我使用方法-readDataToLength:
,先读取header.length数据,然后解析它,然后读取body.length数据;