gpt4 book ai didi

ios - Swift Starscream websocket pod未连接到本地服务器并且没有调用委托(delegate)方法

转载 作者:行者123 更新时间:2023-12-01 22:29:36 32 4
gpt4 key购买 nike

我一直在尝试连接到本地服务器但没有成功。我的代码如下 -

class SocketManager: NSObject, WebSocketDelegate {
var socket: WebSocket!

override init() {
super.init()

self.socket = WebSocket(url: NSURL(string: "ws://localhost:9292/")!)
self.socket.delegate = self
print("TRYING TO CONNECT")
self.socket.connect()
print("DONE TRYING")
}

func websocketDidConnect(ws: WebSocket) {
print("websocket is connected")
}

func websocketDidDisconnect(ws: WebSocket, error: NSError?) {
print("websocket is disconnected: \(error?.localizedDescription)")
}

func websocketDidReceiveMessage(ws: WebSocket, text: String) {
print("Received text: \(text)")
}

func websocketDidReceiveData(ws: WebSocket, data: NSData) {
print("Received data: \(data.length)")
}

func websocketDidReceivePong(socket: WebSocket) {
print("Got pong!")
}
}

打印语句“TRYING TO CONNECT”和“DONE TRYING”都出现在日志中,但似乎没有调用任何委托(delegate)方法。

我不确定这里可能有什么问题。

任何帮助表示赞赏。

最佳答案

问题是,我正在创建类的实例 SocketManager在 AppDelegate 中,并且该变量超出了范围。

为了解决这个问题,我在 AppDelegate 中创建了一个实例变量。 ,在这样做之后,将按预期调用委托(delegate)方法。

这是我在他们的 Github 存储库上发布的问题的链接。

https://github.com/daltoniam/Starscream/issues/203

希望能帮助到你。

关于ios - Swift Starscream websocket pod未连接到本地服务器并且没有调用委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37804294/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com