• Viernes 8 de Noviembre de 2024, 18:55

Autor Tema:  Captura De Excepciones De Sockets  (Leído 1376 veces)

leowa

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Captura De Excepciones De Sockets
« en: Lunes 26 de Junio de 2006, 16:12 »
0
He encontrado en un post anterior una dirección con ejemplos de manejo de excepciones de sockets, pero ese enlace no funciona, el hilo del post en concreto es
http://foros.solocodigo.com/index.php?showtopic=11132
y el enlace que aparece ahí no funciona.

Si algún alma caritativa tuviera algún enlace o pudiera pegar código para manejar las excepciones le estaría agradecido, y si pegan algún ejemplo de transferencia de archivos por sockets más agradecido aún.

Gracias.

leowa

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Captura De Excepciones De Sockets
« Respuesta #1 en: Martes 27 de Junio de 2006, 20:10 »
0
Buscando buscando, he encontrado la solución en otro foro. Aquí les pego la solución ya de mi programa.
Un saludo. :unsure:

Código: Text
  1.  
  2.  
  3. void __fastcall TForm1::ClientSocket1Error(TObject *Sender,
  4.       TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
  5. {
  6.     switch(ErrorCode)
  7.     {
  8.         case (10013):
  9.             ShowMessage("Permiso denegado.\n"
  10.                         "Se ha echo un intento de acceder a un socket de una \n"
  11.                         "manera prohibida");
  12.             break;
  13.         case (10048):
  14.             ShowMessage("Dirección en uso.\n"
  15.                         "Solo un uso de cada dirección de socket \n"
  16.                         "(protocolo/dirección IP/puerto) es permitido habitualmente.");
  17.             break;
  18.         case (10049):
  19.             ShowMessage("No se puede asignar la dirección requerida.\n"
  20.                         "La dirección requerida no es válida en su contexto. ");
  21.             break;
  22.         case (10047):
  23.             ShowMessage("La familia de la dirección es \n"
  24.                         "incompatible con el protocolo.");
  25.             break;
  26.         case (10037):
  27.             ShowMessage("Operación aún en progreso.\n"
  28.                         "Se ha intentado una operación sobre un socket \n"
  29.                         "no bloqueante que ya mantiene una operación en progreso.");
  30.             break;
  31.         case (10053):
  32.             ShowMessage("Conexión abortada.\n"
  33.                         "EL software ha causado el cierre de la conexión. ");
  34.             break;
  35.         case (10061):
  36.             ShowMessage("Conexión rechazada.\n"
  37.                         "No se puede crear una conexión porque la \n"
  38.                         "máquina a la que se ha echo la petición la \n"
  39.                         "ha rechazado activamente.");
  40.             break;
  41.         case (10054):
  42.             ShowMessage("Conexión reiniciada por el peer.\n"
  43.                         "Una conexión existente ha sido cerrada\n"
  44.                         "por el host remoto. ");
  45.             break;
  46.         case (10039):
  47.             ShowMessage("Se requiere dirección de destino.\n"
  48.                         "una dirección requerida ha sido omitida\n"
  49.                         "en una operación del socket. ");
  50.             break;
  51.         case (10014):
  52.             ShowMessage("Dirección erronea.\n"
  53.                         "El sistema a detectado una dirección\n"
  54.                         "de puntero inválido al intentar usar \n"
  55.                         "un argumento puntero de una llamada. ");
  56.             break;
  57.         case (10064):
  58.             ShowMessage("El host está apagado.\n"
  59.                         "Una operación con sockets ha fallado \n"
  60.                         "porque el host de destino estaba apagado. ");
  61.             break;
  62.         case (10065):
  63.             ShowMessage("No route to host.\n"
  64.                         "Se ha tratado de conectar a un host\n"
  65.                         "inalcanzable. ");
  66.             break;
  67.         case (10036):
  68.             ShowMessage("Operación en marcha.\n"
  69.                         "Una operación bloqueante está en\n"
  70.                         "ejecución en este momento. ");
  71.             break;
  72.         case (10004):
  73.             ShowMessage("Se ha llamado a la función de interrupción.");
  74.             break;
  75.         case (10022):
  76.             ShowMessage("Argumento inválido.\n"
  77.                         "Se ha pasado un argumento inválido ");
  78.             break;
  79.         case (10056):
  80.             ShowMessage("El socket ya está conectado.\n"
  81.                         "Se ha requerido una conexión en un socket \n"
  82.                         "ya conectado. ");
  83.             break;
  84.         case (10024):
  85.             ShowMessage("Demasiados archivos abiertos.");
  86.             break;
  87.         case (10040):
  88.             ShowMessage("Mensaje muy largo.");
  89.             break;
  90.         case (10050):
  91.             ShowMessage("La red esta desconectada.");
  92.             break;
  93.         case (10052):
  94.             ShowMessage("La red abandonó la conexión al reiniciar.");
  95.             break;
  96.         case (10051):
  97.             ShowMessage("La red es inalcanzable.");
  98.             break;
  99.         case (10055):
  100.             ShowMessage("No hay espacio de buffer disponible.");
  101.             break;
  102.         case (10042):
  103.             ShowMessage("Mala opción del protocolo.");
  104.             break;
  105.         case (10057):
  106.             ShowMessage("El socket no esta conectado.");
  107.             break;
  108.         case (10038):
  109.             ShowMessage("Operación con sockets sobre un no-socket.");
  110.             break;
  111.         case (10045):
  112.             ShowMessage("Operación no soportada.");
  113.             break;
  114.         case (10046):
  115.             ShowMessage("Familia de protocolos no soportada.");
  116.             break;
  117.         case (10067):
  118.             ShowMessage("Demasiados procesos");
  119.             break;
  120.         case (10043):
  121.             ShowMessage("Protocolo no soportado.");
  122.             break;
  123.         case (10041):
  124.             ShowMessage("Tipo erroneo de protocolo para el socket.");
  125.             break;
  126.         case (10058):
  127.             ShowMessage("No puede enviarse despues de cerrar el socket.");
  128.             break;
  129.         case (10044):
  130.             ShowMessage("Tipo de socket no soportado.");
  131.             break;
  132.         case (10060):
  133.             ShowMessage("Timeout de conexión.");
  134.             break;
  135.         case (10109):
  136.             ShowMessage("Tipo de clase no encontrado.");
  137.             break;
  138.         case (10035):
  139.             ShowMessage("Recurso no disponible temporalmente.");
  140.             break;
  141.         case (11001):
  142.             ShowMessage("No se ha encontrado el host.");
  143.             break;
  144.         default:
  145.             ShowMessage("Error No registrado");
  146.     }
  147.     ErrorCode = 0;
  148. }
  149.  
  150.  
  151.