Я искал, как начать получать данные после того, как поток был запущен некоторое время, но должно быть что-то, что пропущено. В следующей функции у меня есть имя потока от другого узла, но я не могу начать получать данные потока.
Функция func stream (_ aStream: Stream, обрабатывать eventCode: Stream.Event) никогда не вызывается.
Кроме того, outputStream! .StreamStatus.rawValue возвращает 2 на стороне отправителя после того, как имя потока было получено на стороне получателя, когда мы пытаемся отправить данные потока.
rawValue == 2 означает;
Невозможно связаться с удаленным концом соединения, или соединение было разорвано по какой-то другой причине.
Но мы все же получаем имя потока.
func session(_ session: MCSession, didReceive stream: InputStream, withName streamName: String, fromPeer peerID: MCPeerID) {
print("received stream = \(streamName)")
stream.delegate = self as? StreamDelegate
stream.schedule(in: RunLoop.main, forMode: RunLoop.Mode.default)
stream.open()
}
func stream(_ aStream: Stream, handle eventCode: Stream.Event){
// Code to handle stream data.
}