Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

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

AW: ClientSocket bekommt keine Verbindung

  Alt 6. Jan 2013, 15:43
Man kann das if IdTCPClient1.Connected then ... weglassen, denn wenn der Verbindungsaufbau mit IdTCPClient1.Connected scheitert, wird eine Exception ausgelöst. Die Zeile mit der Abfrage auf Connected würde also nie erreicht.

Sicherheitshalber würde ich das Free in einem finally Block platzieren.
Dies gillt ebenfalls für die normale TClientSocket Komponente. Open() löst eine Exception aus, fals die Verbindung fehlschlägt.

Ähm, warum nutzt du nicht einfach das Event OnConnect dafür?
Ich bin mir ziemlich sicher, dass dieses Event nur für die non blocking Variante funktioniert und bei dieser benötigt man wieder zwingend eine Message Queue (und ein Window?).

Eine kleine Bemerkung, die du unbedingt durchlesen solltest, falls du bei den Nativen Komponenten bleibst (TClientsocket/TServersocket).
Es kann sein, dass es diese Problem bei Indy nicht gibt, da Indy das selbst auch intern macht - kenn mich mit Indies ned so aus.
Pakettrennung muss sowohl bei Indy, als auch bei den normalen Socket Komponenten per Hand implementiert werden.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat