相关疑难解决方法(0)

验证套接字io连接

如何验证socket.io连接?我的应用程序使用来自另一台服务器(python)的登录端点来获取令牌,每当用户在节点端打开套接字连接时,我如何才能使用该令牌?

io.on('connection', function(socket) {
    socket.on('message', function(message) {
        io.emit('message', message);
    });
});
Run Code Online (Sandbox Code Playgroud)

而客户方:

var token = sessionStorage.token;
var socket = io.connect('http://localhost:3000', {
    query: 'token=' + token
});
Run Code Online (Sandbox Code Playgroud)

如果令牌是在python中创建的:

token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
Run Code Online (Sandbox Code Playgroud)

如何使用此令牌验证节点中的套接字连接?

token node.js flask socket.io

66
推荐指数
4
解决办法
5万
查看次数

如何从JavaScript中拒绝WebSocket打开握手读取状态代码?

我用JavaScript创建了一个WebSocket客户端

if ("WebSocket" in window) {            
    ws = new WebSocket(url);
    ws.binaryType = "arraybuffer";      
} else if ("MozWebSocket" in window) {  
    ws = new MozWebSocket(url);
    ws.binaryType = "arraybuffer";  
}
Run Code Online (Sandbox Code Playgroud)

和WebSocket服务器应用程序.在某些情况下,我将服务器编程为拒绝连接请求并提供错误代码.

在例如Firefox控制台中,然后会显示一条消息

Firefox can't establish a connection to the server at ws://123.123.123.123:1234/.
Run Code Online (Sandbox Code Playgroud)

它提供了状态代码

HTTP/1.1 403 
Run Code Online (Sandbox Code Playgroud)

这是我的WebSocket服务器发送的错误代码.

我的问题是:如何在JavaScript客户端中读取此状态代码?

ws.onerror = function(e) {
    console.log(e);     
};   
ws.onclose = function(e) {
    console.log(e); 
};
Run Code Online (Sandbox Code Playgroud)

都被调用,但没有任何Event对象包含此错误代码.

javascript websocket

15
推荐指数
1
解决办法
4662
查看次数

标签 统计

flask ×1

javascript ×1

node.js ×1

socket.io ×1

token ×1

websocket ×1