相关疑难解决方法(0)

Node.js:socket.io关闭客户端连接

如何在客户端关闭套接字连接?

我在用:

  • socket.io 0.9
  • node.js 0.10.15
  • 表达3.3.4

即:呼叫localhost/test
- 服务器端

var test = io
.of('/test')
.on('connection', function (socket) {

  console.log('open socket: ' + socket);

  socket.on('disconnect', function () {
    console.log('disconnected event');
    //socket.manager.onClientDisconnect(socket.id); --> endless loop with this disconnect event on server side
    //socket.disconnect(); --> same here
  });
});
Run Code Online (Sandbox Code Playgroud)

- 客户端

var socket = io.connect('http://localhost:3000/test');
socket.on('disconnect', function () {
   console.log('disconnect client event....');
});

socket.emit('getInitData', function (data) {
  .. do something with data
});
Run Code Online (Sandbox Code Playgroud)

如果我加载测试页面,我需要来自服务器的一些值(getInitData).
在第一页访问我获取数据一次,在重新加载或第二次访问我得到它两次,依此类推.

服务器端的连接在页面重新加载时自动关闭,如果您离开页面.
但在客户端,连接仍然是开放的.
如何在客户端关闭连接或检查是否已打开连接?

更新
我现在尝试以下内容:(客户端)

window.onbeforeunload …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express socket.io

42
推荐指数
5
解决办法
9万
查看次数

Node.js和Socket.IO - 断开连接后如何重新连接

我正在使用node.js和socket.io构建一个小型原型.一切都运行良好,我面临的唯一问题是我的node.js连接将断开连接,我被迫刷新页面,以便连接并再次运行.

一旦断开事件被触发,有没有办法重新建立连接?

据我所知,这是一个常见问题.所以,我正在寻找解决这个问题的最佳实践方法:)

非常感谢,Dan

node.js

37
推荐指数
3
解决办法
6万
查看次数

标签 统计

node.js ×2

express ×1

javascript ×1

socket.io ×1