Buenos días,
Estuve practicando un poco el uso de node.js con el framework Express y socket.io. En mi primera prueba no tuve dificultades ya que usé un ejemplo del maestro Jesus Conde (illasaron) y funcionó a la perfección (las conexiones con Socket.io). Sin embargo, en un segundo ejemplo esta librería no se encontró.
Cabe mencionar que para hacer la conexion con socket.io en el servidor (app.js) se hizo el debido require hacia socket.io:
Cuando ejecuto el servidor con "node app.js" ocurre lo siguiente:
"Socket.IO's `listen()` method expects an `http.Server` instance
as its first parameter. Are you migrating from Express 2.x to 3.x?
If so, check out the "Socket.IO compatibility" section at:
https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x
info - socket.io started"
y en la consola de Chrome cuando quiero ver en el puerto 3000 la página servida, aparece:
"Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/socket.io/socket.io.js
Uncaught ReferenceError: io is not defined"
------------
La estructura de mi directorio es el siguiente:
- index.html
- app.js
- package.json
- node_modules
- views
- routes
- public
Aparentemente no puedo colocar codigo... he imprimido pantalla y subido la imagen en un hosting...
http://desarroyarte.com/imagen.jpg por favor si fueras tan amable, ayudame a revisarlo... gracias!
Estuve practicando un poco el uso de node.js con el framework Express y socket.io. En mi primera prueba no tuve dificultades ya que usé un ejemplo del maestro Jesus Conde (illasaron) y funcionó a la perfección (las conexiones con Socket.io). Sin embargo, en un segundo ejemplo esta librería no se encontró.
Cabe mencionar que para hacer la conexion con socket.io en el servidor (app.js) se hizo el debido require hacia socket.io:
var express = require('express')
, app = express()
, io = require('socket.io').listen(app);
app.get('/', function (req, res){
res.sendfile(__dirname + '/index.html');
});
app.listen(3000);
y en el index.html se invocó a la librería de esta forma:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
$(document).on("ready", function(){
var socket = io.connect('http://127.0.0.1:3000');
});
</script>
Cuando ejecuto el servidor con "node app.js" ocurre lo siguiente:
"Socket.IO's `listen()` method expects an `http.Server` instance
as its first parameter. Are you migrating from Express 2.x to 3.x?
If so, check out the "Socket.IO compatibility" section at:
https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x
info - socket.io started"
y en la consola de Chrome cuando quiero ver en el puerto 3000 la página servida, aparece:
"Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/socket.io/socket.io.js
Uncaught ReferenceError: io is not defined"
------------
La estructura de mi directorio es el siguiente:
- index.html
- app.js
- package.json
- node_modules
- views
- routes
- public
node_modules contiene:
- socket.io
- .bin
- jade
- express
Alguien puede ayudarme? Le agradezco mucho de antemano
19/03/2013 19:11
var express = require('express')
var http = require('http')
var socketio = require('socket.io')
var app = express()
var server = http.createServer(app)
var io = socketio.listen(server)
app.get('/', function (req, res){
res.sendfile(__dirname + '/index.html');
});
app.listen(3000);
19/03/2013 19:22
Te cuento que ahora al ejecutar el servidor se muestra solo:
info - socket.io started
y eso es buenísimo... solo que cuando voy al navegador, me sigue apareciendo:
GET http://localhost:3000/socket.io/socket.io.js 404 (Not Found) localhost:6
Uncaught ReferenceError: io is not defined
Permíteme copiar el código completo del index.html:
-----------------------------------------
Ejemplo de Socket.IO con Express
var socket = io.connect('http://127.0.0.1:3000');
$(document).on("ready", function(){
var socket = io.connect('http://localhost:3000');
var nickname = $("#nickname").val();
$("#set-nickname").on("submit", function(){
return false;
socket.emit('nickname', nickname);
});
});
Ejemplo de Socket.IO con Express
Nickname:
---------------------------------------------
Muchas gracias por tu valiosa ayuda!
19/03/2013 19:35
19/03/2013 19:36
19/03/2013 19:25
http://desarroyarte.com/imagen.jpg por favor si fueras tan amable, ayudame a revisarlo... gracias!