小编Art*_*kii的帖子

如何处理 io.use 中间件来捕获客户端上的错误?

我需要检查我的套接字连接的身份验证,如果失败则删除一个。我的服务器和客户端代码如下所示;

// 服务器.js

var http = require('http');
var sio = require('socket.io');
var app = require('express')();

var server = require('http').createServer(app).listen(3000, function () {
    console.log('Server listening on 3000 port');
});

var io = sio.listen(server);

io.use(function (socket, next) { 
    return next(new Error('Not Authenticated'));
});
Run Code Online (Sandbox Code Playgroud)

// 客户端.js

var socket = io.connect(window.location.origin);

socket.on('connect', function () {
    console.log('socket connected')
});
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法捕获Not Authenticated客户端的错误来处理它并显示一些弹出窗口。

现在,如果Not Authenticated在服务器端执行错误,则套接字连接仍然存在,但没有一个socket.emit('message')不起作用。

我如何在客户端捕获此错误以做出决定?

websocket node.js express socket.io socket.io-1.0

4
推荐指数
1
解决办法
1805
查看次数

标签 统计

express ×1

node.js ×1

socket.io ×1

socket.io-1.0 ×1

websocket ×1