提问者:小点点

Socket.IO文件丢失?


可能很明显,但我现在在这上面已经3个多小时了,却想不出问题所在。我只想做一个简单的网页,可以和服务器端的代码进行通信。我有所有图书馆的最新版本。

我的服务器端代码是:

//import libaries
global.express = require('express');
global.http = require('http');
global.socketio = require('socket.io');

global.app = express();
global.server = http.createServer(app);
global.io = socketio(server);

//serve files
app.use(express.static('public'));

//start listening
app.listen(80, () => {
    console.log('listening...');
});

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

我的客户端代码如下所示:

<script src="/socket.io/socket.io.js"></script>
<script>
    let socket = io();
</script>
<script src="sketch.js"></script>

这应该可以工作,但是每次(在客户端-控制台)我都会收到这个错误:

GET http://localhost/socket.io/socket.io.js net::ERR_ABORTED 404 (Not Found)

我知道像这样的问题很多,但通常都是过时的。

PS:如果我去掉插座部分,表达函数正确。


共1个答案

匿名用户

好的,看起来您正在创建自己的http服务器,然后将socket.io附加到它上。但是你听的不是服务器,而是Express。要么做

server.listen(80, () => {
    console.log('listening...');
});

或者只使用Express的服务器

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

另外,如果您正在构建一个简单的网站,您可能根本不需要socket.io。