Announcement

Collapse
No announcement yet.

Socket-Verbindung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Socket-Verbindung

    Hallo,

    ich programmiere ein Client-Server-Programm mit den Socket-Komponenten. Der Client versucht in regelmäßigen Abständen dem Servereine Information über einen Port zuzuschicken. Dabei kann es aber sein, dass der Server gerade mal nciht verfügbar ist (Server-Rechner ausgeschaltet oder Server-Programm nciht gestartet). Wenn das der Fall ist, erhalte ich folgende Fehlermeldung "Im Projekt ServerClient.exe ist eine Exception der Klasse ESocketError aufgetreten. Meldung 'Asynchroner Socket-Fehler 10060'. Prozeß wurde angehalten. Mit Einzelanweisung oder Start fortsetzen." Wie kann ich diesen Fehler unterbinden? Das Client-Programm soll nach eine bestimmten Zeit einen erneuten Connect zum Server versuchen.

    Viele Grüße,
    Marco

  • #2
    Hallo Marco!

    Also ich nehme an das Du wahrscheinlich die visuellen Komponenten der TClientSocket und TServerSocket-Komponenten verwendet hast!?
    Dann musst Du lediglich in denm Object-Inspector die Eigenschaft <B>OnError</B> setzen!
    Folgenden Code-Schnipsel verwende ich beispielsweise:
    <PRE>
    procedure TSteuerForm.ClientSocketError(Sender: TObject;
    Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
    var ErrorCode: Integer);
    begin
    //Werte den ErrorCode in einer Case-Verschachtelung aus und mache damit was Du willst!
    // Zum Schluss setze den ErrorCode auf 0 (NULL) und die vom System generierte Meldung wird unterbunden!
    ErrorCode:= 0;
    end;
    </PRE/>

    Ich hoffe das wird dir helfen!
    Gruß
    Carste

    Comment


    • #3
      Besten Dank Carsten! Es funktioniert hervoragend :-)

      Viele Grüße und noch einen schönen Sonntag,
      Marc

      Comment

      Working...
      X