Я передаю пользовательскую строку запроса, содержащую идентификатор, для авторизации клиента на сервере, когда он подключается через socket.io.
var env = {id:12345};
var socket = io.connect('https://example.com', {query:'i='+env.id, port:443, reconnect:false, secure:true});
Когда клиент отключается по какой-либо причине, он может повторно подключиться, просто называя следующую функцию.
socket.socket.connect();
Однако во время повторного подключения env.id
обычно содержит другое значение, чем во время первоначального подключения, и я хочу иметь текущее значение в строке запроса при каждом повторном подключении.
Вышеуказанный метод повторного соединения снова отправляет начальное значение, даже если env.id
было изменено на другое значение.
Я пытался установить текущие параметры при вызове функции повторного подключения, но это не работает.
socket.socket.connect('https://example.com', {query:'i='+env.id, port:443, reconnect:false, secure:true})
Есть ли простой способ обновить строку запроса с текущим значением env.id
, а затем повторно подключиться?
Или мне нужно уничтожить весь объект сокета после его отсоединения, а затем создать новое соединение с помощью var socket = io.connect()
с текущим идентификатором?