我正在使用套接字创建聊天。 使用connectParams输入您的昵称。 我想在连接到套接字时更改昵称。 我该如何更改?
func connectSocket(){
manager = SocketManager(socketURL: URL(string: url!)!, config: [.compress, .connectParams(["chatUID":chatUID,"isAdmin":isAdmin,"nickName":nickName])])
socketClient = manager?.socket(forNamespace: "/chat")
socketClient?.on(clientEvent: .connect) {data, ack in
if isJoin{
self.sendJoinUser()
}
}
socketClient?.connect()
}
我尝试过
func changeNickname(newNickName:String){
manager?.config = [.compress, .connectParams(["chatUID":chatUID,"isAdmin":isAdmin,"nickName":newNickName])]
socketClient?.setReconnecting(reason: "Change NickName")
}
不起作用
如何实时更改参数?
答案 0 :(得分:1)
第一次断开socketClient。
socketClient?.disconnect()
然后使用新参数重新定义它。
manager = SocketManager(socketURL: URL(string: url!)!, config: [.compress, .connectParams(["chatUID":chatUID,"isAdmin":isAdmin,"nickName": newNickName])])
socketClient = manager?.socket(forNamespace: "/chat")
再次连接。
socketClient?.connect()
非常简单。