CNode

socket 用disconnect 断开,再重新连接怎么搞

Nnode-ds发布于12 年前最后回复8 年前10 回复21939 浏览0 收藏

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)

N
node-ds#1·12 年前

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

M
macross2005#2·12 年前

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

N
node-ds#3·12 年前

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

M
macross2005#5·12 年前
引用 node-ds搞定了,,,谢谢。。。我都搞了一上午了。。。太感谢了!

@node-ds 不客气:)还有个方法是 调用Socket 的 reconnect() 方法。 背后的原因是: socketio客户端默认会重用已创建的同目的地址的socket。所以调用connect会返回 已经 disconnected的 对象。reconnect是手动把disconnected的socket重连接。

N
node-ds#6·12 年前
引用 node-ds搞定了,,,谢谢。。。我都搞了一上午了。。。太感谢了!

@macross2005 学习了。。高手,,以后多照着下。。。:)

J
JoweiBlog#7·11 年前
引用 node-ds@macross2005 学习了。。高手,,以后多照着下。。。:)

@node-ds @macross2005 遇到同样的问题,但是 Socket 的 reconnect() 方法 好像没有用。。还是我用错了 io().socket.reconnect();

J
JoweiBlog#8·11 年前
引用 node-ds@macross2005 学习了。。高手,,以后多照着下。。。:)

@node-ds @macross2005 socket.socket.reconnect(); 就这个Uncaught TypeError: Cannot read property 'reconnect' of undefined 了。。。

M
macross2005#9·11 年前
引用 JoweiBlog@node ds @macross2005 socket.socket.reconnect(); 就这个Uncaught TypeError: Cannot read property 're...

@JoweiBlog socket.io的新版本改动了那个api, 使用1.9.x系列的有那个.

Q
quanpf2481#10·8 年前
引用 node-ds搞定了,,,谢谢。。。我都搞了一上午了。。。太感谢了!

@node-ds 怎么搞定的啊?方法说出来分享一下啊

参与回复
登录后即可参与回复。登录