StarScream websocketDidReceivePong 没有被 writePing 调用
StarScream websocketDidReceivePong is not getting called for writePing
我想定期向服务器发送 ping 以保持连接。
这是发送ping的函数
socket.writePing(NSData())
但我没有找回乒乓球
func websocketDidReceivePong(socket: WebSocket){
wsConsole.text = wsConsole.text .stringByAppendingString("\n websocket received pong")
}
当服务器发回 pong 时,上述委托将被解雇。
仅供参考:
我能够成功建立 web 套接字连接发送消息和关闭连接并且我已经实现并且我已经给出 socket.delegate=self
WebSocketPongDelegate
这是我用于测试目的的网络套接字url
ws://echo.websocket.org/
我想知道为什么我没有从网络套接字服务器取回 pong。
您的插座是否是 class 的 属性 以确保其固定?如果您只在函数堆栈上分配它,它将超出范围并且永远不会调用委托。此外 pongDelegate
与常规委托是分开的,因此您也需要将其设置为 self :
socket.pongDelegate = self
我想定期向服务器发送 ping 以保持连接。
这是发送ping的函数
socket.writePing(NSData())
但我没有找回乒乓球
func websocketDidReceivePong(socket: WebSocket){
wsConsole.text = wsConsole.text .stringByAppendingString("\n websocket received pong")
}
当服务器发回 pong 时,上述委托将被解雇。
仅供参考:
我能够成功建立 web 套接字连接发送消息和关闭连接并且我已经实现并且我已经给出 socket.delegate=self
WebSocketPongDelegate
这是我用于测试目的的网络套接字url
ws://echo.websocket.org/
我想知道为什么我没有从网络套接字服务器取回 pong。
您的插座是否是 class 的 属性 以确保其固定?如果您只在函数堆栈上分配它,它将超出范围并且永远不会调用委托。此外 pongDelegate
与常规委托是分开的,因此您也需要将其设置为 self :
socket.pongDelegate = self