Мы транслируем данные, используя класс Stream от Apple.Мы отправляем данные и читаем их без проблем, но у нас возникают трудности с обнаружением окончания передачи данных или нет данных для чтения информации.Иногда это вызывает проблемы.
В следующем коде atEnd должен был быть возвращен, когда данные были получены на принимающей стороне согласно документам Apple.Stream.Status.open возвращает все время.
Возможно, мы проверяем состояние неверным методом.
func stream(_ aStream: Stream, handle eventCode: Stream.Event){
switch aStream.streamStatus {
case Stream.Status.notOpen: print("-notOpen")
case Stream.Status.opening: print("-opening")
case Stream.Status.open: print("-open")
case Stream.Status.reading: print("-reading")
case Stream.Status.writing: print("-writing")
case Stream.Status.atEnd: print("-atEnd")
case Stream.Status.error: print("-error")
default: break
}
//Some other code to read data.
}