如何限制GCDAsyncSocket写入?

时间:2016-10-24 09:35:42

标签: ios sockets gcdasyncsocket

如果不使用标签,我如何正确地尽快写#34;"但是没有构建大量内存缓冲区中的未写入的数据blob,以及如何跟踪OS套接字的写入进度?我应该使用socket:didWritePartialDataOfLength:tag:事件吗?

  

当套接字写入一些数据时调用,但尚未完成整个写入。它可用于更新进度条等内容。

GCDAsyncSocket是否会挂起新的写入呼叫,因为它不会分配更多内存?

多久一次?在排队新写入之前我怎么知道,内存中已经有多少待处理?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,事实证明实际上已经足够了。

最多写两个块,然后在从GCDAsyncSocket获得已写入块的回调时写入一个新块。使用部分数据回调来跟踪更精细的颗粒进度。使用标签对块进行编号。那就是它。