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

Sockets Asincronos - System.InvalidOperationsExeption

Estas en el tema de Sockets Asincronos - System.InvalidOperationsExeption en el foro de .NET en Foros del Web. Hola a todos, estoy trabajando en una aplicacion multiempresa que debe de recabar todas las ventas de diferentes puntos de venta remotos, para esto estoy ...
  #1 (permalink)  
Antiguo 21/01/2006, 10:56
Rodolfo Israel
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Sockets Asincronos - System.InvalidOperationsExeption

Hola a todos, estoy trabajando en una aplicacion multiempresa que debe de recabar todas las ventas de diferentes puntos de venta remotos, para esto estoy trabajando en un programa que funciona como un servidor central que consiste en un socket asincrono que esta en un estado de escucha para que los programas de punto de venta clientes manden sus ventas al servidor, tengo un boton llamado Conectar/Desconectar servidor, no tengo problema para la coneccion ni mucho menos para que se conecten los puntos de venta ni para que envien sus ventas, el problema ocurre cuando desconecto el socket servidor, me lanza una ventana con el siguiente error:

"Excepción no controlada del tipo 'System.InvalidOperationException' en system.dll

Información adicional: AcceptCallback"

esto sucede despues de que se ejecuta el siguiente codigo:

_MiSocketServidor.Close();

Hace falta mencionar que ya depure esta instruccion y no ocurre ahi el error, si no cuando se termina de ejecutar mi funcion "DesconectarSocketServidor()". Me imagino que esto se debe a algun thread del pool que se queda en un proceso de espera provocada por la siguiente llamada cuando el servidor se conecta:

_MiSocketServidor.BeginAccept( new AsyncCallback( _OnConnectRequest ),_MiSocketServidor );

Cualquier sugerencia para evitar este error es bienvenida , y de antemano gracias a todos los que se tomen la molestia de leer este post.

Saludos.
  #2 (permalink)  
Antiguo 23/01/2006, 11:08
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
No podrías hacer un check de la conexion para saber si la puedes cerrar o no.., porque puede que haya otro call por ahi... intenta con ésto en el lado del server no en el cliente

Cita:
...
Socket socketForClient = tu_tcpListener.Accept();
...
if (socketForClient.Connected)
...
socketForClient.Close();
No sé si estás haciendo uso del algun stream, si es así asegurate de tambien hacer un flush antes de cerrar tu socket.

Checalo

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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 17:23.