CFWriteStreamClose() очищается?
Предположим, у вас есть CFWriteStream
что ты называешь CFWriteStreamClose()
сразу после звонка CFWriteStreamWrite()
, Оба вызова осуществляются в одном потоке. Будет ли операция закрытия гарантировать, что любые байты, записанные / буферизованные потоком, действительно будут отправлены получателю до того, как поток будет уничтожен?
Короче, звонит CFWriteStreamClose()
очистить поток?
1 ответ
Согласно документации, нет, это не так. Это "прекращает поток байтов" в потоке. В то время как CFWriteStreamWrite
является синхронным, это не гарантирует, что все байты, которые вы хотите записать, будут записаны за один вызов. Таким образом, он возвращает количество фактически записанных байтов; ваша задача - продолжать звонить до тех пор, пока ваши данные не будут исчерпаны или вы не решите прекратить их действие.
Вызов функции close предназначен для очистки любых ресурсов, связанных с потоком.