我按照以下步骤建立了socket.io
连接:
socketManager.config = SocketIOClientConfiguration(
arrayLiteral: .compress, .connectParams(["Authorization": getUserAccessToken() ?? ""])
)
socket = socketManager.defaultSocket
socket.connect()
这可以正常工作,但是token
在一段时间后会过期,并且发生这种情况时,服务器会发送一条消息,由我在此处处理:
socket.on(NEW_TOKEN) { (data, ack) in
if let dat = data[0] as? [String: Any] {
if let token = dat["tok"] as? String
{
updateUserAccessToken(accessToken: token)
}
}
}
发生这种情况时,我是否还需要更新SocketIOClientConfiguration
才能使用新令牌,还是默认情况下会发生这种情况,因为每次使用{{1}发送新消息时,它将获取该令牌。 }方法?
因此,getUserAccessToken
是在上面初始化套接字时设置一次,然后又未更改,还是每次发送消息时都执行该代码段,以便使用来获取最新的令牌SocketIOClientConfiguration
方法?