Foros del Web » Programando para Internet » Node.js »

[Node.js] Mensajes entre server y client

Estas en el tema de [Node.js] Mensajes entre server y client en el foro de Node.js en Foros del Web. Hola, Estoy trasteando en el mundo node.js para ver lo que es esto, pero estoy teniendo problemas para que el server reciba mensajes de una ...
  #1 (permalink)  
Antiguo 28/10/2012, 14:09
 
Fecha de Ingreso: abril-2012
Mensajes: 6
Antigüedad: 12 años
Puntos: 1
[Node.js] Mensajes entre server y client

Hola,

Estoy trasteando en el mundo node.js para ver lo que es esto, pero estoy teniendo problemas para que el server reciba mensajes de una pagina web (en local). Sí que conecta, pero no recibe los "emit":

server.js
Código:
// JavaScript Document
var http = require('http');
var server = require('socket.io').listen(2222);

server.sockets.on("connection",arranque);

function arranque(usuario)
{
		usuario.on("nuevo",emitir);
}

function emitir(data)
{
	server.sockets.emit("respuesta", data+"*");
}

loquesea.html
Código:
....

<script src="http://localhost:2222/socket.io/socket.io.js"></script>
<script type="text/javascript">
$(document).on("ready",iniciar);
function iniciar()
{
    websocket=io.connect("http://localhost:2222");
    websocket.on('respuesta',tratarRespuestaServidor);
    $("#formulario").on('submit',mandaMensajeServidor);
}

function mandaMensajeServidor()
{ 
	var datos=$("#nombre").val();
	websocket.emit("nuevo",	datos);
}

function tratarRespuestaServidor(datosServidor)
{
		alert(datosServidor);
}

....


</script>

websocket.emit("nuevo", datos);

Llega a esa línea y se "pierde" la información en el servidor, no se hace nada. Es como si no se lanzara la funcion emitir del server. ¿Qué puede estar pasando?

Gracias por adelantado

Etiquetas: formulario, funcion, html, javascript, js, mensajes, server, cliente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.