3

假设您有一个CFWriteStream在调用CFWriteStreamClose()之后立即调用CFWriteStreamWrite()的。两个调用都是在同一个线程上进行的。关闭操作是否会保证在流被销毁之前写入/缓冲的任何字节实际上都发送给接收者?

简而言之,调用是否CFWriteStreamClose()刷新流?

4

1 回答 1

2

根据文档,不,它没有。它在流上“终止字节流”。虽然CFWriteStreamWrite是同步的,但它不能保证您要写入的所有字节都将在一次调用中写入。因此它返回实际写入的字节数;您的工作是继续调用它,直到您的数据用尽或您决定停止。

调用 close 函数旨在清理与流相关的任何资源。

于 2011-12-07T04:49:21.467 回答