我通過一個包含ID的自定義查詢字符串來授權服務器上的客戶端,當他通過socket.io連接時。在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()
與當前ID建立新的連接?
如何傳遞兩個參數與查詢選項?提前致謝。! – Pritam
嘗試'socket.socket.options.query ='i ='+ env.id +'&j ='+ env.j;'。在它們之間放置一個&。 – Westy92
我可能是錯的,但我相信這個行爲在v1.5破壞 – Aron