![]() |
Ursache von Socketerror 10061 "Connection refused"
Hallo !
Ich versuche gerade mithilfe eines Timers eine Verbindung (Client > Server) aufzubauen... Jedoch erscheint dann der besagte Fehler 10061 ... Ich weiß jedoch nicht genau woran das liegen könnte ... Habe zum Testen folgenden Code verwendet:
Delphi-Quellcode:
Zur Info: Den Server hab ich nicht gestartet ... aber das müsste doch normalerweise trotzdem funktionieren oder ?
procedure TForm1.Timer1Timer(Sender: TObject);
begin with IdTCPClient1 do try Host := '127.0.0.1'; Port := 6333; Connect; finally end; end; |
Re: Ursache von Socketerror 10061 "Connection refused&a
Zitat:
Gruß oki |
Re: Ursache von Socketerror 10061 "Connection refused&a
Hm, ja :)
Aber es müsste doch auch irgendwie möglich sein, dass der Client es quasi nur "versucht" zu connecten und falls dies nicht möglich ist eben einfach die procedure beendet ... Er sollte quasi abfragen, ob der Server erreichbar ist und dann erst connecten ... Hast du vielleicht dazu eine Idee? |
Re: Ursache von Socketerror 10061 "Connection refused&a
Hallo,
ich hatte auch mal das Problem, dass der Client einen Server suchen soll. Hab das damals so gelöst (zwar mit den Socket-Komonenten - ist aber umschreibbar:
Delphi-Quellcode:
kurze Erklärung: er versucht den Port zu öffnen, geht das nicht (except) dann wird wieder geschlossen und von neuem begonnen
procedure TMainForm.Timer_toggleTimer(Sender: TObject);
begin with ClientSocket do begin try //ClientSocket schliessen Active := false; Socket.Close; Close; //ClientSocket beschreiben Port := SpinEdit_Port.Value; Address := S_Adresse; finally // leer end; //Versuchen die Verbindung zu öffnen... try //ClientSocket öffnen Open; except //ClientSocket schliessen Active := false; Socket.Close; Close; end; end; end; |
Re: Ursache von Socketerror 10061 "Connection refused&a
Hi,
mit connect wird ja gerade versucht den Server zu connecten. Es wird dir halt über die Exception der Grund des Fehlschlag's detailiert zurück gegeben. Nach einem fehl geschlagenen Connect ist meines Wissens die Socket aber nicht aktiv. Somit erübrigt sich das Close in der Exceptionbehandlung. Diese sorgt nur dafür, dass der Fehler nicht gemeldet wird. Damit du merkst was schief geht solltest du aber wenigstens eine entsprechende Meldung in ein Log oder ähnliches bringen. Gruß oki |
Re: Ursache von Socketerror 10061 "Connection refused&a
Zitat:
Bei mir läuft der Client "lautlos" im Hintergrund (wird mit Windows gestartet). Er prüft ständig, ob eine Verbindung besteht (oberer Code). Ist keine Verbindung möglich, soll er es einfach weiter probieren. Findet er nichts - macht er einfach weiter - findet er was - ist alles bestens! Ach ja - nur kurz zur Erklärung: Mein Programm ist kein Programm, mit dem der Bediener arbeitet. Mein Programm ist ein ISDN-Monitor Client - der einfach horcht, ob eine Verbindung zu einem Server besteht - wenn nicht - gibts auch nichts anzuzeigen |
Re: Ursache von Socketerror 10061 "Connection refused&a
Hi helmi,
ich meinte eigentlich Albert, da er den Thread gepostet hat. Ob sein Programm wie deins im Hintergrund arbeitet hat er nicht gesagt. Ich möchte bei meinen Programmen immer gern wissen was gerade Sache ist und warum. Und die Connection zu einem Server kann schon mal schnell den Bach runter gehen. Gruß oki |
Re: Ursache von Socketerror 10061 "Connection refused&a
Hi oki,
Nein mein Programm arbeitet soweit nicht im Hintergrund ... Es soll eigentlich mehr ein Testprogramm werden, um einfach mal in die Client-Server-Programmierung einzusteigen... Vielleicht werd ich ein kleines Chat-Proggi draus machen... mal sehen ! PS: Hab das Problem bereits "gelöst" ;) Es wird zwar ein Fehler beim debuggen angezeigt (was wahrscheinlich auch unvermeidbar ist), jedoch wird ein Benutzer des Clients (also der fertigen exe) nicht durch Fehler oder Abstürze gestört, wenn ich noch ein "except" einbaue ... Dann funktioniert alles genau so wie ich es wollte. ;) MfG |
Re: Ursache von Socketerror 10061 "Connection refused&a
Alles klar.
Denk trotzdem dran anzuzeigen ob eine Verbindung etabliert ist. Wenn der Benutzer bei seinen Eingaben keine Reaktion sieht und nicht weis warum, ist das Bein schnell dick. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz