gpt4 book ai didi

node.js - 需要在 socket.io 中向未经授权的用户发送错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:44 25 4
gpt4 key购买 nike

由于标题很明显,我需要向未经授权的用户发回一些错误消息,并且我需要知道如何实现此目的,例如我需要将此消息发送给用户

you dont have any username to begin chat

并在用户浏览器中打印它我应该怎么做?客户端代码是这样的

//this is the client side code
var socket = io.connect('http://localhost', { resource: '/chat/app.js' });

// on connection to server, ask for user's name with an anonymous callback
socket.on('connect', function(){
// call the server-side function 'adduser' and send one parameter (value of prompt)
socket.emit('adduser')
});

socket.socket.on('error', function (reason){
console.log('Unable to connect Socket.IO', reason);
});

但是我进入控制台的原因是

Unable to connect Socket.IO handshake error

我应该如何打印导致用户未获得授权的消息?

这是服务器端代码

        var io = require('socket.io').listen(80);

io.configure(function (){
io.set('authorization', function (handshakeData, callback) {
// findDatabyip is an async example function
findDatabyIP(handshakeData.address.address, function (err, data) {
if (err) return callback(err);

if (data.authorized) {
handshakeData.foo = 'bar';
for(var prop in data) handshakeData[prop] = data[prop];
callback(null, true);
} else {
//THIS IS THE MESSAGE *********************************************
callback('you dont have any username to begin chat', false);
}
})
});
});

最佳答案

要将错误发送回用户,您必须从此修改 manager.js 上的错误函数(socket.io\lib\manager.js;大约第 768 行)

function error (err) {
writeErr(500, 'handshake error');
self.log.warn('handshake error ' + err);
};

到此

function error (err) {
writeErr(500, /*'handshake error'*/ err);
self.log.warn('handshake error ' + err);
};

关于node.js - 需要在 socket.io 中向未经授权的用户发送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16385064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com