Newsgroup: it.comp.lang.delphi
Titolo: SocketConnection, intercettare la mancata connessione.

Salve a tutti,  ho un TSocketConnection il mio problema è questo, supponiamo
di fornire un ip o un host non validi, evidentemente la connessione non
verra effettuata e verra generato il solito errore...
Ora a me serve intercettare il momento in cui ( mi permetto una licenza
poetica ) il componente socketconnection si rende conto che l'indirizzo o
l'host non è valido in modo che di li io possa impostarne uno a scelta che
potra essere valido o meno a sua volta...
Mi date qualche suggerimento?
Ciao,
Antonio.

Non so che componente usi, eventualmente controlla se tra gli eventi puoi
intercettare il Time-out che e' cio che accade quando dopo 30" nel tentare
la connessione ad un host inesistente, tempo che comunque a livello di
socket di base "Winsock" e' impostabile.
Se il tuo componente non ti fornisce l'evento relativo puoi intervenire nel
suo codice direttamente, ammesso che tu abbia il sorgente.
Senno' possiamo riparlarne: ti suggerirei l'uso di altri componenti piu'
flessibili forniti col cod. sorgente.
Ciao Antonio
"Antonio Volpe" <stratodream@NO_SPAMfastwebnet.it> ha scritto nel messaggio
news:Rwn3d.10585$Ie2....@tornado.fastwebnet.it...


 socket di base "Winsock" e' impostabile.
Uso il SocketConnection nella palette MIDAS e non sembra avere nessuna
proprieta di tipo timeout.
Hai idee ?

Haio... non ho i componenti Midas ad ogni modo prova a cercare il sorgente
dove vengono utilizzati i socket, l'istruzione che devi cercare e' del tipo
WinSock.Connect (al posto di winsock potra' esserci un altro nome) anzi fai
la ricerca solo su Connect a parola intera.
Se va' in time-out la Connect restituisce SOCKET_ERROR e i dettagli
sull'errore li ricavi mediante la Res:=WinSock.WSAGetLastError;
Questi sono i valori di Res dai quali capisci se e' andato in time out,
purtroppo non ricordo qual'e' (forse il 1060).
Giorgio
WSABASEERR:=1000;
WSABASEERR+4 : Result := 'WSAEINTR';
      WSABASEERR+9 : Result := 'WSAEBADF';
      WSABASEERR+13 : Result := 'WSAEACCES';
      WSABASEERR+14 : Result := 'WSAEFAULT';
      WSABASEERR+22 : Result := 'WSAEINVAL';
      WSABASEERR+24 : Result := 'WSAEMFILE';
      WSABASEERR+35 : Result := 'WSAEWOULDBLOCK';
      WSABASEERR+36 : Result := 'WSAEINPROGRESS';
      WSABASEERR+37 : Result := 'WSAEALREADY';
      WSABASEERR+38 : Result := 'WSAENOTSOCK';
      WSABASEERR+39 : Result := 'WSAEDESTADDRREQ';
      WSABASEERR+40 : Result := 'WSAEMSGSIZE';
      WSABASEERR+41 : Result := 'WSAEPROTOTYPE';
      WSABASEERR+42 : Result := 'WSAENOPROTOOPT';
    WSABASEERR+43 : Result := 'WSAEPROTONOSUPPORT';
      WSABASEERR+44 : Result := 'WSAESOCKTNOSUPPORT';
      WSABASEERR+45 : Result := 'WSAEOPNOTSUPP';
      WSABASEERR+46 : Result := 'WSAEPFNOSUPPORT';
      WSABASEERR+47 : Result := 'WSAEAFNOSUPPORT';
      WSABASEERR+48 : Result := 'WSAEADDRINUSE';
      WSABASEERR+49 : Result := 'WSAEADDRNOTAVAIL';
    WSABASEERR+50 : Result := 'WSAENETDOWN';
      WSABASEERR+51 : Result := 'WSAENETUNREACH';
      WSABASEERR+52 : Result := 'WSAENETRESET';
      WSABASEERR+53 : Result := 'WSAECONNABORTED';
      WSABASEERR+54 : Result := 'WSAECONNRESET';
      WSABASEERR+55 : Result := 'WSAENOBUFS';
      WSABASEERR+56 : Result := 'WSAEISCONN';
    WSABASEERR+57 : Result := 'WSAENOTCONN';
      WSABASEERR+58 : Result := 'WSAESHUTDOWN';
      WSABASEERR+59 : Result := 'WSAETOOMANYREFS';
      WSABASEERR+60 : Result := 'WSAETIMEDOUT';
      WSABASEERR+61 : Result := 'WSAECONNREFUSED';
      WSABASEERR+62 : Result := 'WSAELOOP';
      WSABASEERR+63 : Result := 'WSAENAMETOOLONG';
      WSABASEERR+64 : Result := 'WSAEHOSTDOWN';
      WSABASEERR+65 : Result := 'WSAEHOSTUNREACH';
      WSABASEERR+66 : Result := 'WSAENOTEMPTY';
      WSABASEERR+67 : Result := 'WSAEPROCLIM';
      WSABASEERR+68 : Result := 'WSAEUSERS';
      WSABASEERR+69 : Result := 'WSAEDQUOT';
      WSABASEERR+70 : Result := 'WSAESTALE';
    WSABASEERR+71 : Result := 'WSAEREMOTE';
      WSABASEERR+91 : Result := 'WSASYSNOTREADY';
      WSABASEERR+92 : Result := 'WSAVERNOTSUPPORTED';
      WSABASEERR+93 : Result := 'WSANOTINITIALISED';
      WSABASEERR+101 : Result := 'WSAEDISCON';
      WSABASEERR+1001 : Result := 'WSAHOST_NOT_FOUND';
      WSABASEERR+1002 : Result := 'WSATRY_AGAIN';
      WSABASEERR+1003 : Result := 'WSANO_RECOVERY';
      WSABASEERR+1004 : Result := 'WSANO_DATA';
