Foros del Web » Creando para Internet » Flash y Actionscript »

Coordinando un cliente (Flash AS2) y un servidor (C#) mediante Sockets

Estas en el tema de Coordinando un cliente (Flash AS2) y un servidor (C#) mediante Sockets en el foro de Flash y Actionscript en Foros del Web. Hola, desde hace poco he estado interesado en aprender como funcionan los sockets en diferentes lenguajes ya que me gustaría hacer alguna aplicación online, comenzando ...
  #1 (permalink)  
Antiguo 12/03/2010, 09:03
 
Fecha de Ingreso: junio-2007
Ubicación: Sabadell, BCN
Mensajes: 95
Antigüedad: 16 años, 9 meses
Puntos: 1
Pregunta Coordinando un cliente (Flash AS2) y un servidor (C#) mediante Sockets

Hola, desde hace poco he estado interesado en aprender como funcionan los sockets en diferentes lenguajes ya que me gustaría hacer alguna aplicación online, comenzando por un mini chat o algo parecido.

Hasta ahora he creado un servidor en C#, que es el que debería controlar el Minichat y todas las conexiones; y una aplicación con Flash CS4 en ActionScript 2, que resultará ser el cliente que usarán todos los usuarios para hablar.

Bueno, he conseguido enviar paquetes al servidor y que este devuelva la respuesta, que es mostrada correctamente en la animación Flash.

El problema está en cuando quiero enviar algo desde el servidor, a por ejemplo todos los usuarios, es decir, que cada cliente reciba un paquete del servidor.

He pensado en hacer que se vaya repitiendo cada X tiempo un fotograma que le envie un paquete al servidor y que este de una respuesta, informando si hay nuevos datos para todos los usuarios. Imagino que enviar y recibir tantos paquetes a la vez, hará que haya mucha lentitud en el servidor, por eso, dudo que lo esté haciendo de un modo correcto.

El fotograma que se va repitiendo, comprobando nuevos datos, tiene el siguiente código (sacado de una guía):

Código:
var xsTestSocket: XMLSocket = new XMLSocket();
cbtCallFW.onRelease = function():Void {
    var bSuccess:Boolean = xsTestSocket.connect(ctaServerIP.text, ctaServerPort.text);
}
xsTestSocket.onConnect = function(bSuccess:Boolean):Void {
    if (bSuccess) {
		var sFWCmd:String = ctaServerQuest.text;
        xsTestSocket.send(sFWCmd);
    }else{
		ctaServerReply.text = "Error, tiempo máximo de intento de conexión excedido.";
    }
}
xsTestSocket.onData = function(reply:String):Void {
    ctaServerReply.text = reply;
    xsTestSocket.close();
}
En resumen, lo que hace esto es enviar al servidor un paquete que se encuentra en un campo de texto, esperando una respuesta.

Mi pregunta es si repitiendo tantas veces este fotograma, lo estoy haciendo de un modo correcto. Si no es así, ¿como lo podría hacer?

Gracias por leer

Etiquetas: cliente, flash, sockets, servidores
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:20.