Я потратил дни, пытаясь понять, почему это не работает, но я ничего из этого не получил.
Я пробовал другие ответы на этот топи c, но, похоже, ни один из них не работал me.
Попытка ответов:
Как устранить ошибку Socket.io 404 (не найдено)?
socket.io: не удалось загрузить ресурс
GET http://localhost: 3000 / socket.io / socket.io. js 404 (не найдено)
Ошибка: http://localhost : 3001 / socket.io / 404 (не найдено)
Socket.io http://localhost: 3000 / socket.io / socket.io. js 404 (не найдено) - Как настроить socket.IO - nodejs, apache2, websockets
Socket.io 404 Not Found
Это мой код. Файловый сервер. js:
//Dependencies
var express = require('express');
var io = require('socket.io').listen(server);
//Dependencies
//Global variables
var app = express();
var PORT = 3000;
const ROOT = {root : __dirname};
var players = [];
//Global variables
var server = app.listen(PORT, function() {
console.log("Server process started successfully on port " + PORT + "\n");
});
app.get('/', function(req, res) {
console.log("Server called from " + req.socket.remoteAddress + ":" + req.socket.remotePort + "\n");
res.sendFile('html/access.html', ROOT);
});
app.get('/gameSelection', function(req, res) {
let name = req.query.name;
players.push(name);
console.log("New player named " + name + " joined the hub." + "\n");
console.log("Total active players: " + players.length + "\n");
console.log("Complete list of active players: " + players + "\n");
res.sendFile('sketches/menu/index.html', ROOT);
});
app.use(express.static(__dirname + '/sketches/menu'));
io.sockets.on('connection', function(socket){
console.log("We have a new client: " + socket.id);
});
Доступ к файлам. html:
<!DOCTYPE html>
<html>
<head>
<title>Welcome traveler</title>
</head>
<body>
<form method="GET" action="/gameSelection">
Name: <input type="text" name="name" placeholder="Insert your name..." required>
<input type="submit" value="submit">
</form>
</body>
</html>
Меню файлов. js:
const socket = io.connect(window.location.origin);
function setup()
{
createCanvas(600, 400);
ellipse(100, 100, 50, 50);
}
function draw() {}
Индекс файла . html:
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script language="javascript" type="text/javascript" src="libraries/p5.min.js"></script>
<script language="javascript" type="text/javascript" src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script language="javascript" type="text/javascript" src="menu.js"></script>
<style> body { padding: 0; margin: 0; } </style>
</head>
<body>
</body>
</html>
Как показано в коде, я пытаюсь подключить через socket.io страницу p5 js к моему серверу узла.
Но когда я добираюсь до index. html page Я получаю эту ошибку:
GET http://localhost: 3000 / socket.io /? EIO = 3 & transport = polling & t = NEsXBrx 404 (Not Found)
Request.create @ socket.io-1.4.5. js: 1
Request @ socket.io-1.4.5. js: 1
XHR.request @ socket.io-1.4.5. js: 1
XHR.doPoll @ socket.io-1.4.5. js: 1
Polling.poll @ socket.io-1.4.5. js: 1
Опрос. doOpen @ socket.io-1.4.5. js: 1
Transport.open @ socket.io-1.4.5. js: 1
Socket.open @ socket.io-1.4.5. js: 1
Socket @ socket.io-1.4.5. js: 1
Socket @ socket.io-1.4.5. js: 1
Manager.open.Manager. connect @ socket.io-1.4.5. js: 2
(анонимно) @ socket.io-1.4.5. js: 3
Я действительно nне понимаю, что не так с моим кодом, поэтому я надеюсь, что кто-нибудь может помочь.
Заранее спасибо.