2011-12-07 4 views
3

CFWriteStreamWrite()を呼び出した直後にCFWriteStreamClose()を呼び出したCFWriteStreamがあるとします。両方の呼び出しは同じスレッドで行われます。クローズ操作では、ストリームが破棄される前に、ストリームに書き込まれた/バッファされたバイトが実際に受信者に送信されることが保証されますか?CFWriteStreamClose()をフラッシュしますか?

要するに、CFWriteStreamClose()はストリームをフラッシュしますか?

答えて

2

ドキュメントによると、それはありません。ストリーム上の「バイトの流れを終了させる」。 CFWriteStreamWriteは同期型ですが、書き込むすべてのバイトが1回の呼び出しで書き込まれることを保証するものではありません。したがって、実際に書き込まれたバイト数を返します。あなたの仕事は、あなたのデータが枯渇するか、そうでなければ停止するまでそれを呼び出すことです。

close関数を呼び出すと、ストリームに関連付けられているすべてのリソースがクリーンアップされるように設計されています。

関連する問題