io.on连接未在socket.io中触发

时间:2019-07-14 08:42:09

标签: javascript node.js express websocket socket.io

我正在尝试在我的nodejs应用中实现socket.io。当我尝试

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

io.on('connection', function(socket){
  console.log('a user connected');
});

我没有任何控制台日志。

当我尝试

server = app.listen(port);
var io = require('socket.io')(http);

io.on('connection', function(socket){
  console.log('a user connected');
});

我收到了无限a user connected条日志。

在前端,我的实现是

<body onload="loaded()">
<script>
function loaded(){
   var socket = io();
}
</script>

我在做什么错。我看到了一种方法

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

但是我想在

中使用express变量
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));

在该实现中我将无法获得。

0 个答案:

没有答案