【发布时间】:2018-09-04 14:12:09
【问题描述】:
我已阅读 Swift 的 Socket.io 的 latest documentation。还有一个新连接的例子:
let manager = SocketManager(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .compress])
let socket = manager.defaultSocket
所以我创建了一个类SocketIOManager,像这样:
class SocketIOManager: NSObject {
static let manager = SocketManager(socketURL: URL(string: "myurl.com:443"))
static let socket = manager.defaultSocket
class func connectSocket(){
socket.connect()
}
class func reciveMessage(){
socket.on("new-message-mob") { (dataArray, ack) in
print(dataArray.count)
}
}
}
然后我只调用 ViewController 中的方法 SocketIOManager.connectSocket()。但服务器产生错误。我不开发服务器端。我只需要知道 - 我是否正确创建了连接?这些天你是如何通过 Socket.io 连接到 socket 的?
P.S 服务器错误 - 必须提供 jwt(似乎没有令牌,但有)。
更新(使用虚拟值):
我正在传递这样的令牌:
static let manager = SocketManager(socketURL: URL(string: "https://myurl:443?token=\(token)")!)
static let socket = manager.defaultSocket
【问题讨论】:
-
>
it seems like no token, but there is。但是您的代码没有令牌。你确定你传递了令牌吗? -
我传递了一个这样的令牌:static let manager = SocketManager(socketURL: URL(string: "myurl.com:443?token=(token)")!)。但我不确定如何传递 URL 参数。
-
再次检查你如何放置令牌。我们可以看到一个带有虚拟值的示例吗?
-
用令牌示例更新我的帖子