node.js - 如何关闭 socket.io 连接

标签 node.js sockets

我无法弄清楚如何断开已建立的 socket.io 连接。 这是简单的 socket.io 配置:

var app_rf = http.createServer(function(req, res) {});
var io = require('socket.io').listen(app_rf);
app_rf.listen(3001);

我通过以下方式发送数据:

 io.sockets.emit('series_results', result_rf );

并在浏览器中读取它:

 var socket = io.connect('//localhost:3001');
 socket.on('series_results', function(data) {
 $('.results_rf').append("<p class='output_rf'>Gender- "+data+"</p>");
 });

我尝试在客户端上使用 io.disconnect('//localhost:3001'),但不起作用。 我的问题是,由于连接未关闭,消息被保留,而不是被销毁。如果我能销毁这些消息,那对我也有用。

最佳答案

我解决了: 我将其添加到服务器代码中

io.sockets.on('disconnect', function() {
// handle disconnect
io.sockets.disconnect();
io.sockets.close();});

并在客户端上进行了编辑:

 var socket = io.connect('//localhost:3001',{'forceNew':true });

关于node.js - 如何关闭 socket.io 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28953658/

相关文章:

调用 ioctl() 会导致 errno 指示 "Bad address"

VMware播放器上的java套接字程序: network unavailable

c++ - TCP - C++ - 没有用于调用的匹配函数

node.js - 由于 Windows 上的长路径错误,无法将 Node js 模块添加到 git

javascript - 与非 Javascript 服务器相比,使用基于 Javascript 的服务器有哪些优势?

node.js - Express Post 请求返回 404 状态

c - UDP - 以 block 的形式从队列中读取数据

php - 如何在 localhost + ubuntu 中测试 PHP Socket 编程

node.js - 在NodeJS中将数组转换为字符串

node.js - child_process 未在 ec2 Nodejs 服务器上执行