我通过一个包含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