this slowpoke moves

Get Socket Error Codes

Die folgende Funktion dient dazu, Socket Errors in einem verständlichen Text wiederzugeben. Wenn etwas falsch gemacht wurde, sendet Windows uns einen Fehlercode anhand von Nummern, mit denen der User im ersten Moment nichts anfangen kann. Diesen Fehlercode kann man abfangen und ihn in einem verständlichen Text wiedergeben.

Nach einer gesamten Liste der Fehlercodes kann hier : 
nachgesehen und der Funktion hinzugefügt werden.
uses ExtCtrls, ScktComp, Sockets

//

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;

procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
  if Errorcode <> 0 then
    Showmessage('client: ' + NetErrMessage(ErrorCode));
    errorcode:=0;
end;

procedure TForm1.ServerSocket1ClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
  if Errorcode <> 0 then
    Showmessage('Server: ' + NetErrMessage(ErrorCode));
    errorcode:=0;
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate