Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema Sockets

Estas en el tema de Problema Sockets en el foro de .NET en Foros del Web. hey q onda, ahora regreso con el siguiente problema, he desarrollado un aplicacion que implementa sockets la cual funciona a la perfeccion , puedeo enviar ...
  #1 (permalink)  
Antiguo 29/04/2010, 16:34
 
Fecha de Ingreso: febrero-2010
Mensajes: 35
Antigüedad: 14 años, 9 meses
Puntos: 1
Problema Sockets

hey q onda, ahora regreso con el siguiente problema, he desarrollado un aplicacion que implementa sockets la cual funciona a la perfeccion , puedeo enviar y recibir mensajes entre cliente/servidor y cliente/cliente, el problema viene que ahora lo que quiero hacer es es que cuando recibo un mensaje por parte del servidor, invocar a una clase la cual contiene una GUI, aqui es donde el problema surge, la GUI se invoca pero "toda trabada", no me responde y no hace nada y no se a q se deba, intente metiendo esta clase en un nuevo hilo pero ps nada, no funciona, aqui pongo mi codigo:

Esto es funcional:
private void Recibir(IAsyncResult ar)
{
try
{
socketCliente.EndReceive(ar);
mensajeRecibidoServidor = Encoding.ASCII.GetString(datosRecibidos);
MessageBox.Show("mensaje remoto recibido:" + mensajeRecibidoServidor); ;
datosRecibidos = new byte[1024];
socketCliente.BeginReceive(datosRecibidos, 0, datosRecibidos.Length, SocketFlags.None, new AsyncCallback(Recibir), null);
}
catch (Exception ex)
{
}
}


pero si pongo lo siguiente (lo que esta en rojo):

private void Recibir(IAsyncResult ar)
{
try
{
socketCliente.EndReceive(ar);
mensajeRecibidoServidor = Encoding.ASCII.GetString(datosRecibidos);
MessageBox.Show("mensaje remoto recibido:" + mensajeRecibidoServidor); ;

MiClase obj=new MiClase();
obj.Visible=true;
obj.MetodoQueMuestraLaGUI(mensajeRecibidoServidor) ;


datosRecibidos = new byte[1024];
socketCliente.BeginReceive(datosRecibidos, 0, datosRecibidos.Length, SocketFlags.None, new AsyncCallback(Recibir), null);
}
catch (Exception ex)
{
}
}


aqui el cliente puede seguir recibiendo mensajes y las procesa, y tambien me muestra la GUI pero como mencione antes, "esta trabada", no me deja hacer nada sobre la GUI, posiciono el mouse sobre esa GUI y aparece el raton con el reloj de arena, el cual quiere decir que el programa no responde, aclaro, solo la GUI no responde, por que el programa del cliente sigue enviando y recibiendo peticiones

alguiem que me diga el porq hace este?, como solucionarlo?

De antemano gracias.

Etiquetas: sockets
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 01:08.