2011-12-07 3 views
3

CFWriteStreamWrite()을 호출 한 직후에 CFWriteStreamClose()이라고 부르는 CFWriteStream이 있다고 가정 해보십시오. 두 호출 모두 같은 스레드에서 수행됩니다. 클로즈 오퍼레이션에 의해, 스트림이 파기되기 전에, 스트림에 기입해진/버퍼 된 바이트가 실제로 수신자에게 송신되는 것이 보증 될지 어떨지를 판정합니다.CFWriteStreamClose()를 플러시합니까?

간단히 말해서 CFWriteStreamClose()은 스트림을 플러시합니까?

답변

2

설명서에 따르면, 그렇지 않습니다. 스트림의 「바이트의 흐름을 종료한다」 CFWriteStreamWrite은 동기식이지만 쓰기를 원하는 모든 바이트가 한 번의 호출로 작성되는 것은 아닙니다. 따라서 실제로 쓴 바이트 수를 반환합니다. 당신의 일은 당신의 데이터가 고갈 될 때까지 계속 전화를 걸거나 그렇지 않으면 멈추기로 결정하는 것입니다.

닫기 함수를 호출하면 스트림과 관련된 모든 리소스를 정리할 수 있습니다.