Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2009, 13:55
intombed
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
sockets as3 y VB.net

Hola.

Estoy intentando mandar mensajes entre un servidor de visual basic. net de está página (buscar en google PabloTilli_SocketsVBNET... no puedo escribir direcciones ni enlaces ) y recibirlos con flash as3.
Al enviar datos desde flash a .net funciona, pero no al contrario...

El código que tengo escrito es el siguiente:

var xmlsock:XMLSocket = new XMLSocket();
xmlsock.connect("127.0.0.1", 8050);

configureListeners(xmlsock);

xmlsock.addEventListener(DataEvent.DATA, ejemplo); //onData

function ejemplo(event:DataEvent):void
{
trace("datos del servidor: [" + event.type + "] " + event.data);
}

//Prueba de acciones al pulsar los botones
function AccionBoton1(event:MouseEvent):void
{
trace("BOTON1 PULSADO")
xmlsock.send("player1\n");
}
Btn1.addEventListener(MouseEvent.CLICK, AccionBoton1);
function AccionBoton2(event:MouseEvent):void
{
trace("BOTON2 PULSADO")
xmlsock.send("player2\n");
}
Btn2.addEventListener(MouseEvent.CLICK, AccionBoton2);




//-----------------------------------------------------------------
function configureListeners(dispatcher:IEventDispatcher):vo id {
dispatcher.addEventListener(Event.CLOSE, closeHandler);
dispatcher.addEventListener(Event.CONNECT, connectHandler);
dispatcher.addEventListener(DataEvent.DATA, dataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS , progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SEC URITY_ERROR, securityErrorHandler);
}

function closeHandler(event:Event):void {
trace("closeHandler: " + event);
}

function connectHandler(event:Event):void {
trace("connectHandler: " + event);
}

function dataHandler(event:DataEvent):void {
trace("dataHandler: " + event);
}

function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}

function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}

function securityErrorHandler(event:SecurityErrorEvent):voi d {
trace("securityErrorHandler: " + event);
}

Este mismo código utilizando el servidor de java que pongo a continiación me funciona perfectamente:

import java.io.*;
import java.net.*;

class simpleServer
{
public static void main(String args[])
{
// Message terminator
char EOF = (char)0x00;

try
{
// create a serverSocket connection on port 9999
ServerSocket s = new ServerSocket(9999);

System.out.println("Probando: Server started. Waiting for connections...");
// wait for incoming connections
Socket incoming = s.accept();

BufferedReader data_in = new BufferedReader(
new InputStreamReader(incoming.getInputStream()));
PrintWriter data_out = new PrintWriter(incoming.getOutputStream());

data_out.println("Welcome! type EXIT to quit." + EOF);
data_out.flush();

boolean quit = false;

// Waits for the EXIT command
while (!quit)
{
String msg = data_in.readLine();

if (msg == null) quit = true;

/* if (!msg.trim().equals("EXIT"))
{
data_out.println("You sayed: <b>"+msg.trim()+"</b>"+EOF);
data_out.flush();
}*/

if (msg.trim().equals("player1"))
{
data_out.println("NUEVO Jugador: <b>"+msg.trim()+"</b>"+EOF);
data_out.flush();
}

else if (msg.trim().equals("player2"))
{
data_out.println("NUEVO Jugador: <b>"+msg.trim()+"</b>"+EOF);
data_out.flush();
}

else
{
quit = true;
}
}
}
catch (Exception e)
{
System.out.println("Connection lost");
}
}
}

Si alguien me pudiese ayudar a encontrar el probelma...

Saludos y gracias