Могу ли я изменить connectParams при подключении с помощью socket.io-client-swift? - PullRequest
0 голосов
/ 05 марта 2019

Я создаю чат, используя сокеты.Введите свой никнейм, используя 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")
}

не работал

Как я могу изменить параметры в режиме реального времени?

1 Ответ

0 голосов
/ 05 марта 2019

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()

Очень просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...