Mega Code Archive

 
Categories / Delphi / LAN Web TCP
 

Display understandable socket error descriptions

Title: display understandable socket error descriptions? {+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dieses Beispiel fängt die Fehlercodes von TServerSocket und TClientSocket ab und zeigt diese in "verständlicher" Form an... Die FehlerCodes sind natürlich erweiterbar! Catch the error issued by TServerSocket and TClientSocket and show a corresponding text. List of error codes can be improved. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++} Function NetErrMessage(ErrorCode: INTEGER): STRING; Begin CASE ErrorCode OF 10004: result := 'Aufruf wurde abgebrochen!'; 10013: result := 'Zufriffsfehler!'; 10014: result := 'Falsche Parameter!'; 10038: result := 'Ungültiger Socket angegeben!'; 10039: result := 'Es wurde keine Zieladresse angegeben!'; 10048: result := 'IP-Adresse bzw. Port werden schon/noch benutzt!'; 10049: result := 'Port oder Adresse nicht verfügbar!'; 10050: result := 'Netzwerk reagiert nicht!'; 10051: result := 'Netzwerk ist nicht erreichbar!'; 10054: result := 'Verbindung wurde getrennt!'; 10056: result := 'Socket schon verbunden!'; 10060: result := 'Aufruf dauert zu lange, daher Abbruch!'; 10061: result := 'Server nicht gefunden, oder Verbindung nicht akzeptiert!'; 11001: result := 'DNS-Server nicht gefunden!'; ELSE result := 'Ein Unbekannter Fehler ist aufgetreten. [' + IntToStr(ErrorCode) + ']'; END; End; // +++++ clien-error-event +++++++++++++++++++++++++++++++++++++++++++ procedure TForm1.clientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin if Errorcode0 then Showmessage('client: '+NetErrMessage(ErrorCode)); errorcode:=0; end; // +++++ server-error event ++++++++++++++++++++++++++++++++++++++++++ procedure TForm1.serverClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin if Errorcode0 then Showmessage('Server: '+NetErrMessage(ErrorCode)); errorcode:=0; end;