对 NSOutputStream 的两次写入是否会在 stream:handleEvent: 中产生两个 NSStreamEventHasBytesAvailable(我在其中处理读取的数据)?
问问题
238 次
1 回答
0
您是否查看过有关输出流的“流编程指南”?https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Streams/Articles/WritingOutputStreams.html
在输出流上,序列为:
- 分配/初始化
- 设置委托
- 在运行循环中调度
- 打开
- 等待 NSStreamEventOpenCompleted
- 等待 NSStreamEventHasSpaceAvailable
当收到 NSStreamEventHasSpaceAvailable 时(每次写入操作只会收到一次),您可以选择执行写入。如果执行写入,则需要等待接收 NSStreamEventHasSpaceAvailable 才能再次写入。执行写入时,您还必须确认您尝试写入的所有内容均已实际写入。如果写入尝试仅部分完成,则可能需要处理部分写入。
于 2013-03-05T18:36:03.773 回答