Socket.io polling 404 en Laravel
Estoy tratando de implementar una aplicación de chat con Socket.io en mi aplicación Laravel. La aplicación de chat funciona bien por sí sola, pero tengo problemas para que funcione en Laravel.
Intento servir a Laravel en el puerto 8000 y al servidor de chat en 8000. Uso Express 4.8.0 y Socket.io 1.0.6, Nodo 0.10.29 y nodemon para las pruebas.
//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 - dependencias, probé todo esto:
<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>
y luego para el lado del cliente (código propio)
{{ HTML::script('js/client.js') }}
La versión CDN de Socket.io proporciona constantemente este tipo de registros:
"GET http://localhost:8000/socket.io/?EIO=2&transport=polling&t=1407425555977-15 404 (Not Found)".
Los otros solo dan un archivo js no encontrado log:
"GET http://localhost:8000/socket.io/socket.io.js 404 (Not Found)"
// estructura de carpetas:
/público
/ js
client.js
/ node_modules
server.js
¿Alguien puede ver lo que puedo hacer para que funcione?
EDITAR //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');
});
// Cuando tipifico el objeto global "socket" en el registro dice:
connected: false
disconnected: true