AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Prüfen, ob serverSocket gestartet ist.
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen, ob serverSocket gestartet ist.

Ein Thema von 1ceman · begonnen am 9. Jan 2006 · letzter Beitrag vom 10. Jan 2006
Antwort Antwort
1ceman

Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
 
Delphi 6 Personal
 
#1

Prüfen, ob serverSocket gestartet ist.

  Alt 9. Jan 2006, 19:44
ich will vor dem verbinden des clients zum server überprüfen, ob der aerver überhaupt "existiert".
habs mal mit try ... exceot versucht, aber irgendwie gehts net, kann aber auch sein, das ich da was falsch mache.
bisher siehts so aus:
Delphi-Quellcode:
try
  Clientsocket1.Host:=IP;
  Clientsocket1.Active:=True;
except
  showmessage('Server nicht verfügbar');
end;
if ClientSocket1.Socket.Connected = True
then begin
           Verbinden1.Enabled:=False;
           Verbinungbeenden1.Enabled:=True;
           R_Chat.Clear;
     end;
Roman
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Prüfen, ob serverSocket gestartet ist.

  Alt 9. Jan 2006, 20:29
Zitat:
irgendwie gehts net
Was geht denn nicht? Kommt eine Fehlermeldung, oder was passier?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Prüfen, ob serverSocket gestartet ist.

  Alt 10. Jan 2006, 12:04
Und wie fern "existiert"? Wenn er den Server nicht erreichen kann, dann wird im OnError eine Fehlermeldung mitgeteilt und nicht bei Active := True. Die Sockets arbeiten asynchron zu deinem Delphi Code -> wenn, dann wartet auf Events!!!
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#4

Re: Prüfen, ob serverSocket gestartet ist.

  Alt 10. Jan 2006, 12:15
Zitat von 1ceman:
ich will vor dem verbinden des clients zum server überprüfen, ob der aerver überhaupt "existiert".
habs mal mit try ... exceot versucht, aber irgendwie gehts net, kann aber auch sein, das ich da was falsch mache.
bisher siehts so aus:
Delphi-Quellcode:
try
  Clientsocket1.Host:=IP;
  Clientsocket1.Active:=True;
except
  showmessage('Server nicht verfügbar');
end;
if ClientSocket1.Socket.Connected = True
then begin
           Verbinden1.Enabled:=False;
           Verbinungbeenden1.Enabled:=True;
           R_Chat.Clear;
     end;
Nee, das geht so auch nicht. Die Abfrage, ob der Client verbunden ist, kommt zu schnell...so schnell verbindet dein Client nicht.
Mach doch die if-Abfrage in dein ClientSocket1.OnConnect rein. Das funktioniert sicher
  Mit Zitat antworten Zitat
1ceman

Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
 
Delphi 6 Personal
 
#5

Re: Prüfen, ob serverSocket gestartet ist.

  Alt 10. Jan 2006, 15:09
Das Problem ist einfach, dass wenn man auf verbinden klickt(ist der button, in dem steht der quellcode von oben) und der
server aber nicht on, das das Programm dann abstürzt mit dem Fehler ESocketError. ich möchte jetzt erreichen, dass
anstatt dem Error ne message kommt, das der Server nicht verfügbar ist und das Programm auch net mehr abstürzt.

Delphi-Quellcode:
if ClientSocket1.Socket.Connected = True
then begin
           Verbinden1.Enabled:=False;
           Verbinungbeenden1.Enabled:=True;
           R_Chat.Clear;
     end;
Das hab ich jetzt ins OnConnect geschrieben.
Roman
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Prüfen, ob serverSocket gestartet ist.

  Alt 10. Jan 2006, 20:47
Zitat von 1ceman:
Das Problem ist einfach, dass wenn man auf verbinden klickt(ist der button, in dem steht der quellcode von oben) und der
server aber nicht on, das das Programm dann abstürzt mit dem Fehler ESocketError. ich möchte jetzt erreichen, dass
anstatt dem Error ne message kommt, das der Server nicht verfügbar ist und das Programm auch net mehr abstürzt.
Und ich zitiere mich nochmal von ein paar Beiträgen weiter oben:

Zitat von Muetze1:
Wenn er den Server nicht erreichen kann, dann wird im OnError eine Fehlermeldung mitgeteilt ...
Du hättest ja mal bei OnError in den Sockets nachschauen können.

Leg dir ein solchen Eventhandler an und gebe deine Meldung entsprechend aus. Du kannst die Meldung anhand der übergebenen Parameter entsprechend aussuchen/formatieren und die Ausgabe der Exception kannst du verhindern, wenn du den übergebenen Parameter ErrorCode auf 0 setzt. Steht auch wie gesagt in der Hilfe...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz