首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StarScream websocketDidReceivePong没有被叫到writePing

StarScream websocketDidReceivePong没有被叫到writePing
EN

Stack Overflow用户
提问于 2016-05-12 06:38:44
回答 1查看 946关注 0票数 2

我希望定期发送pings到服务器,以保持连接正常。

这是发送ping的函数。

代码语言:javascript
复制
socket.writePing(NSData())

但我不会把乒乓球拿回来的

代码语言:javascript
复制
func websocketDidReceivePong(socket: WebSocket){
    wsConsole.text = wsConsole.text .stringByAppendingString("\n websocket received pong")
}

当服务器发送回乒乓时,上述委托将被触发。

FYI:我成功地建立了网络套接字,连接,发送消息和关闭连接,我已经实现了,我给了socket.delegate=self

代码语言:javascript
复制
WebSocketPongDelegate

下面是用于测试目的的web套接字url

ws://echo.websocket.org.websocket.org/

我想知道为什么我没有得到从网络套接字服务器的乒乓。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-24 16:52:01

您的套接字是否是类的属性,以确保其保持不变?如果您只在函数堆栈上分配它,它将超出作用域,并且委托将永远不会被调用。此外,pongDelegate与常规委托是分开的,因此您还需要将其设置为self:

socket.pongDelegate = self

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37179060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档