Socket.io fragt 404 in Laravel ab
Ich versuche, eine Chat-App mit Socket.io in meine Laravel-App zu implementieren. Die Chat-App funktioniert von alleine, aber ich habe Probleme, sie in Laravel zum Laufen zu bringen.
Ich versuche, Laravel auf Port 8000 und den Chat-Server auf 8000 zu bedienen. Zum Testen verwende ich Express 4.8.0 und Socket.io 1.0.6, Node 0.10.29 und Nodemon.
//server.js:
var express = require('express');
var app = express();
var http = require("http").Server(app);
var io = require("socket.io")(http);
http.listen(8000, function () {
console.log('listening on *:8000');
});
app.use('/', express.static(__dirname + '/public'));
app.get("/*", function (req, res){
res.sendFile(__dirname + "/index.php");
});
//client.js:
var socket = io.connect('http://localhost:8000');
// html - Abhängigkeiten, ich habe alles versucht:
<script src="//cdn.socket.io/socket.io-1.0.0.js"></script>
{{ HTML::script('/socket.io/socket.io.js') }}
<script src="http://localhost:8000/socket.io/socket.io.js" ></script>
<script src="{{asset('/socket.io/socket.io.js')}}"></script>
und dann für die Client-Seite (eigener Code)
{{ HTML::script('js/client.js') }}
Die CDN-Version von Socket.io gibt ständig diese Arten von Protokollen aus:
"GET http://localhost:8000/socket.io/?EIO=2&transport=polling&t=1407425555977-15 404 (Not Found)".
Die anderen geben nur ein js-Datei nicht gefundenes Protokoll an:
"GET http://localhost:8000/socket.io/socket.io.js 404 (Not Found)"
// Ordnerstruktur:
/Öffentlichkeit
/ js
client.js
/ node_modules
server.js
Kann jemand sehen, was ich tun kann, damit es funktioniert?
BEARBEITEN //server.js
var socket = require('socket.io');
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = socket.listen(server);
io.on('connection', function (socket) {
console.log("Connected server");
}
server.listen(8000);
//client.js
var socket;
$(document).ready(function () {
socket = io.connect('http://localhost:8000');
});
// Wenn ich das globale "Socket" -Objekt in das Protokoll eingebe, heißt es:
connected: false
disconnected: true