Ich schreibe einen Knoten-Server, der eine Webseite mit socket.io dient. Aber wenn ich die Seite laden, zeigt die Konsole den FehlerFehler 404 beim Versuch, socket.io zu erhalten
(index):6 GET http://localhost:3000/socket.io/socket.io.js
das ist wenig überraschend, gefolgt von:
(index):51 Uncaught ReferenceError: io is not defined
wenn ich die Dateien überprüfen, indem Sie die Seite in der Registerkarte Netzwerk geladen wird, zeigt es Ein Fehler 404 für socket.io. Aber überraschenderweise, als ich andere Programme gestartet habe, die ich mit socket.io gemacht habe, hat alles gut funktioniert. Der einzige Unterschied ist, dass ich für diesen einen Express benutze.
Hier ist mein Code:
app.js:
var express = require('express');
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
app.use(express.static("./app"));
app.get("/", function(req, res, next) {
res.sendFile(__dirname + "/index.html")
});
app.listen(3000);
console.log("Server started in http://localhost:" + 3000);
io.on('connection', function(socket){
socket.emit('news', {hello :'world'});
socket.on('my other event', function(data){
console.log(data);
});
});
index.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
[Some unrelated text]
<script>
var socket = io.connect('http://localhost');
socket.on('news', function(data){
console.log(data);
socket.emit('my other event', {my: 'data'});
});
</script>
</body>
</html>
Vielen Dank für Ihre Hilfe!
Danke, das war es! Für Informationen, nachdem ich Ihre Lösung getestet habe, habe ich den gleichen Fehler, dass auf diesem anderen Thread, dass ich mit der Top-Antwort behoben. http://stackoverflow.com/questions/24526166/soceanio-err-connection-refused –
Ja, ich wollte nur das Update für den anderen Thread zuvor testen. Danke für Ihre Hilfe ! –
Prost. Gr8 es funktioniert! – Iceman