var socket; function a(room){ room =‘help’; var uid=1; socket =new io.connect(‘http://localhost:8082’,{‘reconnect’:true,‘auto connect’:true}); socket.on(‘conn’, function (data) { var postdata={‘c_id’:room,‘u_id’:uid} socket.emit(‘login’,postdata,function(result){ console.log(“success…”); }); }); }
function b(){ socket.socket.disconnect(); }
我先用a()连接登录,,后来用b() 退出,,我在想用a()连接怎么就连不上了。。。要怎么搞,,求助。。。。
有木有哪位给个提示啥的啊,,,用别的方法也行,,主要能实现,,我在页面不刷新的情况下,想连上就连上,想断开就断开。
试试 connect options里加上 {“force new connection”:true}
搞定了,,,谢谢。。。我都搞了一上午了。。。太感谢了!
@macross2005 谢谢
@node-ds 不客气:)还有个方法是 调用Socket 的 reconnect() 方法。 背后的原因是: socketio客户端默认会重用已创建的同目的地址的socket。所以调用connect会返回 已经 disconnected的 对象。reconnect是手动把disconnected的socket重连接。
@macross2005 学习了。。高手,,以后多照着下。。。:)
@node-ds @macross2005 遇到同样的问题,但是 Socket 的 reconnect() 方法 好像没有用。。还是我用错了 io().socket.reconnect();
@node-ds @macross2005 socket.socket.reconnect(); 就这个Uncaught TypeError: Cannot read property ‘reconnect’ of undefined 了。。。
@JoweiBlog socket.io的新版本改动了那个api, 使用1.9.x系列的有那个.
@node-ds 怎么搞定的啊?方法说出来分享一下啊