Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我可以在使用socket.io-client-swift连接时更改connectParams吗?_Ios_Swift_Sockets_Socket.io - Fatal编程技术网

Ios 我可以在使用socket.io-client-swift连接时更改connectParams吗?

Ios 我可以在使用socket.io-client-swift连接时更改connectParams吗?,ios,swift,sockets,socket.io,Ios,Swift,Sockets,Socket.io,我正在使用套接字创建聊天。 使用connectParams输入您的昵称。 我想在连接到套接字时更改我的昵称。 我怎样才能改变它 func connectSocket(){ manager = SocketManager(socketURL: URL(string: url!)!, config: [.compress, .connectParams(["chatUID":chatUID,"isAdmin":isAdmin,"nickName":nickName])]) socke

我正在使用套接字创建聊天。 使用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")
}
不起作用


如何实时更改参数?

首先断开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()
很简单