socket 用disconnect 断开,再重新连接怎么搞
发布于 10 年前 作者 node-ds 21180 次浏览 最后一次编辑是 8 年前

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()连接怎么就连不上了。。。要怎么搞,,求助。。。。

10 回复

有木有哪位给个提示啥的啊,,,用别的方法也行,,主要能实现,,我在页面不刷新的情况下,想连上就连上,想断开就断开。

试试 connect options里加上 {“force new connection”:true}

搞定了,,,谢谢。。。我都搞了一上午了。。。太感谢了!

@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 怎么搞定的啊?方法说出来分享一下啊

回到顶部