javascript - 如何在 socket io 中向单个客户端发送错误数据包?

标签 javascript node.js sockets websocket socket.io

我希望能够向客户端发送错误数据包,类似于 registering middleware 时的使用方式.
这有效:

var io = require('socket.io')();
io.use(function(socket, next){
  if (socket.request.headers.cookie) return next();
  next(new Error('Authentication error'));
});

这不是:

io.on('connection', function(socket){
    socket.emit('error', {errorMessage: 'errorMessage'});
    //or
    socket.emit('error', new Error('error'));
});

错误:未捕获、未指定的“错误”事件。

如何使用套接字对象发出错误事件?

最佳答案

事件名称“错误”是为传输层错误保留的。 什么时候尝试

io.on('connection', function(socket){
    socket.emit('exception', {errorMessage: 'errorMessage'});
});

它应该工作得很好。

关于javascript - 如何在 socket io 中向单个客户端发送错误数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32046379/

相关文章:

javascript - 有没有办法将字符串推到数组中每个元素的末尾(我必须使用 while 循环?

node.js - 将 Pug 与 NodeJS 和 Webpack 结合使用

c - Socket编程C(Linux Ubuntu)

javascript - 使用 ng-if 时 Angular 过滤器没有效果

javascript - Node js写入文件

javascript - 如何编写 JavaScript 函数来加载显式的超大幻灯片

sockets - EIO 错误代码是什么意思?

node.js - NodeJs 和 Express 上的 HTTPs 端口错误,为什么?用头撞墙

javascript - 编写异步函数时的具体困惑。有人可以验证吗?

node.js - 用 Jest 模拟继承的类