FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como evitar el Asynchronous socket error?
Buenos días,
Tengo una aplicación que se comunica con un dispositivo a través de sockets. Para la comunicación uso el TClientSocket. En general funciona todo correctamente, a excepción de cuando hay algún problema de comunicación (dirección IP incorrecta, dispositivo apagado, timeout, etc). Todos estos problemas los puedo capturar. Cuando ocurren, aviso al usuario mediante un mensaje, y procedo a cerrar la conexión del TClientSocket, con el método Close. Aparentemente se cierra el socket, pero unos segundos después, empiezan a aparecer (cada 5 o 10 segundos) ventanas con el mensaje "Asynchronous socket error 10060", error de Windows que indica que el socket ha hecho un timeout. Por tanto, no sé si es que realmente no se cierra el socket cuando se lo pido, o que lo enviado queda en alguna cola del Windows cómo pendiente. Y claro, es muy molesto que cuando fallan las comunicaciones salgan errores de Windows (y si no se cierra la aplicación, no se puede volver a comunicar). Y mi pregunta es: que puedo hacer para evitar estos errores? El TClientSocket lo tengo configurado en "nonBlocking". Quizá mejor cambiar y usar algun componente de las Indy? Continuar con el TClientSocket pero usandolo en modo bloqueante? Cualquier ayuda/recomendación será bienvenida! Saludos, Marc Última edición por mcs fecha: 28-05-2010 a las 08:50:51. |
#2
|
|||
|
|||
Ya lo he solucionado.
En el evento OnError del TClientSocket, si se pone la variable ErrorCode a 0 no se muestra ninguna ventana de error. En fin, imagino que si la ayuda del Delphi 2010 fuera un poco decente, no habría estado tanto tiempo con el maldito error... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como evitar un Runtime error 216 | sitrico | Varios | 2 | 20-03-2009 17:21:12 |
"Asynchronous socket error 10061." Mis clientes se cuelgan | Boris | Internet | 2 | 13-09-2007 16:59:17 |
¿Como evitar este mensaje de error? | Deiv | HTML, Javascript y otros | 4 | 27-11-2006 21:46:38 |
NMFTP :Error 10038 Socket operation on non socket | judit | Internet | 2 | 25-05-2006 09:06:33 |
como evitar el error: insufficient memory for this operatiion | click | Varios | 2 | 10-11-2003 07:03:11 |
|