Как начать получать потоковые данные после начала потоковой сессии с Swift 4 - PullRequest
0 голосов
/ 06 ноября 2018

Я искал, как начать получать данные после того, как поток был запущен некоторое время, но должно быть что-то, что пропущено. В следующей функции у меня есть имя потока от другого узла, но я не могу начать получать данные потока.

Функция 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.

}

1 Ответ

0 голосов
/ 06 ноября 2018

Список делегатов приложения был таким

class ViewController:   UIViewController,
                    MCSessionDelegate,
                    MCNearbyServiceAdvertiserDelegate,
                    MCNearbyServiceBrowserDelegate,
                   {

"StreamDelegate" должен был быть добавлен

class ViewController:   UIViewController,
                    MCSessionDelegate,
                    MCNearbyServiceAdvertiserDelegate,
                    MCNearbyServiceBrowserDelegate,
                    StreamDelegate{

После этого

 func session(_ session: MCSession, didReceive stream: InputStream,      withName streamName: String, fromPeer peerID: MCPeerID) {}

начал получать потоки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...