【发布时间】:2018-12-19 19:59:53
【问题描述】:
我是套接字新手,遇到以下问题,我使用 this 库将我的应用程序连接到我的 nodejs 服务器。 我想知道为什么如果我以下列方式调用 socket.emit() 不起作用:
override func viewDidLoad() {
var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "myhosturl")!)
socket.emit("ping","some data");
socket.connect();
}
滑动 socket.emit 和 socket.connect 函数都不起作用,但如果我通过单击按钮触发 socket.emit 函数,它就会起作用:
override func viewDidLoad() {
var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: "myhosturl")!)
socket.connect();
}
@IBAction func sendMessage(sender: AnyObject) {
socket.emit("ping","some data");
}
我想我在这里遗漏了一些东西,如果有人可以向我解释一下,那就太好了
【问题讨论】:
-
对这个库或您的实现不太了解,但似乎要求套接字在其连接之前发出是行不通的,这就是为什么它在您的第二个示例中工作正常但在你的第一个。