socket.io连接失败,报错server error

新手上路,请多包涵

//app.js

var app = require('express')();
// websocket的配置
// Express将APP初始化为一个可以提供给HTTP服务的函数处理程序,
var http = require('http').Server(app);
// 创建一个新的socket.io实例(服务器)
var io=require('socket.io')(http);
var users=[]
// 监听connection事件
// connection事件在客户端成功连接到服务端时触发
io.on("connection",function(socket){
socket.on('login',(data)=>{
  console.log(data)
  var userObj=Object.assign(data,{type:"online",sign:socket.id})
  users.push(userObj)
    io.emit("login",{data:{
    users,
    online:userObj
  }
})
})
})
//定义一个路由句柄,在进入主页的时候会调用
app.get('/', function(req, res){
  res.sendFile('E:/vuechatroom/index.html');
});
//让HTTP服务监听3000端口
http.listen(3000, function(){
  console.log('listening on *:3000');
});
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

下面是整个文件根目录的index.html

<body>
  <div id="app"></div>
  <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
  <script type="text/javascript">
    var socket = io.connect('http://localhost:3000')
    console.log(socket)
    socket.on('connect_error',(data)=>{
     console.log(data + ' - error');
   })
    socket.on('disconnect',function(data){ 
//收到消息
console.log(data);
})
``
打印出来的socket:
Socket
acks
:
{}
connected
:
false
disconnected
:
true
ids
:
0
以下是报错:Error: server error - error
阅读 4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题