2016-05-12 10 views
2

定期的なpingをサーバーに送信して、接続を維持したいと思います。StarScream websocketDidReceivePongがwritePingのために呼び出されていない

これがpingに

socket.writePing(NSData()) 

を送信する機能です。しかし、私は戻って

func websocketDidReceivePong(socket: WebSocket){ 
    wsConsole.text = wsConsole.text .stringByAppendingString("\n websocket received pong") 
} 

をピンポンを取得していない午前、サーバーがピンポン​​を送り返したときに上記のデリゲートがトリガーされます。 FYI

: 私は成功したウェブソケットを確立することができていますが、メッセージと密接な関係を送り接続し、私が実装していると私はここでsocket.delegate=self

WebSocketPongDelegate 

を与えているが、私はテスト目的のために使用していたWebソケットURLです

WS://echo.websocket.org/

私は疑問に思ってなぜ私はWebソケットサーバーからポンを戻さないのですか?

答えて

5

あなたのソケットはクラスに属していますか?それを関数スタックに割り当てるだけでは、スコープの範囲外になり、代理人は決して呼び出されません。またpongDelegateは、通常のデリゲートから分離されているので、あなたにも、自己にそれを設定する必要があります。

socket.pongDelegate = self

関連する問題