Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Redes";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Interceptación de errores en la conexión mediante tomas de corriente. Encontrar ramas similares


dmur   (2001-09-24 20:58) [0]

Perdón por la última pregunta, pero no puedo resolverlo.
Hay dos programas: un cliente y otro servidor.
El servidor está esperando una conexión del cliente.
Es necesario asegurarse de que no haya excepciones en ninguna situación tanto con el servidor como con el cliente.



Digitman   (2001-09-25 10:39) [1]

Traiga una situación específica: recibirá recomendaciones. ¿No es un libro para ti aquí para escribir sobre esto? ¡Después de todo, puede surgir un mar de varias excepciones!



dmur   (2001-09-25 11:16) [2]

Bueno, así es el libro!
Solo se hacen excepciones de socket.
Por ejemplo, el cliente se conecta al servidor, pero en la computadora con el servidor de programa, este programa no se está ejecutando. Se produce una excepción:
ESocketError Error de socket asíncrono 10061
Usando try ... Excepto en ESocketError do ...
No es interceptado.
O el servidor se congela, el cliente se congela.
En la mayoría de los casos, estas excepciones no se detectan.
¿Cómo deshacerse de ellos?



Digitman   (2001-09-25 11:48) [3]

¿Alguna vez ha podido examinar este módulo en detalle en el módulo donde se implementa TClientSocket? ¿Antes de afirmar que solo hay una "excepción de socket"?

Con respecto a "interceptado, no interceptado", "se cuelga - no se cuelga":
Debe aprovechar esta oportunidad en Application.OnException o en OnSocketError. Y por qué, mira, no seas perezoso en ScktComp. Y en el foro este problema ya ha sido "analizado" por mí repetidamente ...



Коляныч   (2001-09-25 12:10) [4]

Derecho! ¡Debe poder presionar el botón F1 usted mismo!
Y use sockets de bloqueo con un intento ... excepto el controlador o no bloqueadores y escriba un controlador OnSocketError.



Digitman   (2001-09-25 13:05) [5]

> dmur
¡En cómo <Kolyanich> pone instantáneamente todo en su lugar!) ¡Breve y claramente! Comentario muy oportuno sobre un tema))



[N\A]   (2001-09-26 17:56) [6]

o su controlador de excepciones =) y Label1.caption: = E.Message;



Wizard_Ex   (2001-09-27 17:37) [7]

Puede detectar errores de ClientSocket configurando el Código de error de OnError: = evento 0
entonces no habrá diálogos ni mensajes, y harás lo que tu corazón desee, PERO
hay PERO:
si el host especificado no existe o si esta computadora está apagada (la computadora donde está ServerSocket), entonces se produce el único error que no es interceptado por estos medios.
En cuanto a lo último, estoy interesado en cómo deshacerme de él más fácilmente.
Gracias de antemano por su consejo ...



Wizard_Ex   (2001-09-27 17:39) [8]

Significa que el programa responderá silenciosamente a los errores si ErrorCode: = 0



Коляныч   (2001-09-27 19:30) [9]

¿Es así que no se detecta un error similar?
Este error tiene un código 10060 que recibe el controlador
Por supuesto, un error similar puede ocurrir en otros casos.
(10060 = Tiempo de espera de conexión agotado).



dmur   (2001-09-28 22:38) [10]

Con ErrorCode: = 0 funciona muy bien!
Si coloca ctNonBlocking, al programa no le importa la falta de un servidor o la ausencia de una computadora con una dirección determinada.
Gracias Wizard_Ex: ¡la única respuesta sensata y no absurda!



Wizard_Ex   (2001-09-30 14:47) [11]

Por favor.
También sufrí un poco en mi tiempo con esto ...



Wizard_Ex   (2001-10-05 12:35) [12]

A Kolyanich:
Con ErrorCode: = 0, si el host no existe, todavía se muestra un mensaje de este tipo:

Error de socket de Windows: este host es desconocido (11001), en la API "ASync Lookup"



Páginas: 1 rama entera

Foro: "Redes";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba





Memoria: 0.58 MB
Tiempo: 0.033 c
14-22322
Denso
2001-11-03 14:10
2002.01.08
Quien va a hacer Es útil para todos.


3-21959
Nikolaev Konstantin
2001-12-04 20:54
2002.01.08
Error al activar TTable ???


1-22089
AYUDE A PLZ
2001-12-15 18:22
2002.01.08
Dll s


6-22275
Moscower
2001-10-08 12:43
2002.01.08
¿Cómo puedo enviar un comando chmod a un servidor Linux a través de TNMFTP?


3-21942
Rdo
2001-12-03 12:19
2002.01.08
Las buenas personas ayudan con el procedimiento almacenado.





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish French
gallego georgiano Alemán Griego criollo haitiano Hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese Rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español