Node.js socket.io出现问题:未定义套接字错误
所以,我查看了之前对这个问题的回答,没有一个回答与我的代码一致 现在我正试图部署一个数据库来保存我的聊天历史记录,但套接字未定义错误不断出现 下面是有问题的代码:Node.js socket.io出现问题:未定义套接字错误,node.js,sockets,socket.io,Node.js,Sockets,Socket.io,所以,我查看了之前对这个问题的回答,没有一个回答与我的代码一致 现在我正试图部署一个数据库来保存我的聊天历史记录,但套接字未定义错误不断出现 下面是有问题的代码: socket.on('person', function(msg){ console.log('person: ' + msg); socket.broadcast.emit('person', msg); client.incr('msg_id', function(err, msg_id) {
socket.on('person', function(msg){
console.log('person: ' + msg);
socket.broadcast.emit('person', msg);
client.incr('msg_id', function(err, msg_id) {
console.log('msg_id', msg_id);
client.hset('history', msg_id, msg);
});
});
socket.on'person',functionmsg{
^
ReferenceError:未定义套接字
是因为我在其他代码中没有正确定义“person”吗?错误是没有定义socket变量 您的代码应该放在socket.io连接回调中 使用socket.io+express的完整示例:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
socket.on('person', function(msg){
console.log('person: ' + msg);
socket.broadcast.emit('person', msg);
client.incr('msg_id', function(err, msg_id) {
console.log('msg_id', msg_id);
client.hset('history', msg_id, msg);
});
});
问题出在代码的其他地方。套接字来自哪里?是否在任何地方取消设置它?