0

NSOutputStreamへの2回の書き込みにより、stream:handleEvent:で2つのNSStreamEventHasBytesAvailable(読み取られたデータを処理する場所)が生成されますか?

4

1 に答える 1

0

出力ストリームに関する「ストリーム プログラミング ガイド」を確認しましたか? https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Streams/Articles/WritingOutputStreams.html

出力ストリームでは、シーケンスは次のとおりです。

  1. 割り当て/初期化
  2. デリゲートを設定
  3. 実行ループでスケジュールする
  4. 開いた
  5. NSStreamEventOpenCompleted を待つ
  6. NSStreamEventHasSpaceAvailable を待つ

NSStreamEventHasSpaceAvailable を受信すると (これは、各書き込み操作に応答して 1 回だけ受信されます)、書き込みを実行するオプションがあります。書き込みを実行する場合は、再度書き込む前に NSStreamEventHasSpaceAvailable の受信を待つ必要があります。書き込みを実行するときは、書き込もうとしたものがすべて実際に書き込まれたことも確認する必要があります。書き込みの試行が部分的にしか完了しない場合は、部分的な書き込みを処理する必要がある場合があります。

于 2013-03-05T18:36:03.773 に答える