2014-01-31 69 views
1

虽然写到NSStream我应该在写NSStream依托hasSpaceAvailable方法或委托事件NSStreamEventHasSpaceAvailable

hasSpaceAvailable”的方法,或在“手柄:事件”的情况下依靠方法

NSStreamEventHasSpaceAvailable

或者我应该检查'hasSpaceAvailable'如果不可用,我必须在特定的 时间后重试,或者是否应该等到委托事件才能打电话直到我开始写?

截至目前其工作当我使用hasSpaceAvailable和一段时间后重试不知道它的 正确的做法。

任何帮助将是非常好的。

回答

6

当您即将发送第一条数据时,请使用hasSpaceAvailable来确定流是否准备就绪。

发送一些数据后,你会得到stream:handleEvent:方法调用,你应该检查是否NSStreamEvent var等于NSStreamEventHasSpaceAvailable;那么你可以写更多的数据到流中,否则有些错误或者流是满的。

+0

因此,第一次我必须使用hasSpaceAvailable然后我可以依靠代表本身? – raghul

+1

是的。我在前一段时间在我的项目中完成了它,并且它工作正常。 –