AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TCP Verbindung mit INDY

Ein Thema von ExceptionOverflow · begonnen am 10. Feb 2016
Antwort Antwort
ExceptionOverflow

Registriert seit: 12. Sep 2014
18 Beiträge
 
Delphi XE2 Professional
 
#1

TCP Verbindung mit INDY

  Alt 10. Feb 2016, 16:04
Also ein gutes Beispiel für eine Indy Implementierung muss erstmal gefunden werden, das rein anhand des Codes (Source code studieren) zu machen ist einfach gefrickel und eine "best practice" für die Nutzung der Komponente konnte ich auch nicht finden.
Ich selbst habe jetzt zwei Libraries für Sockets verwendet, im selben Projekt für die exakt selbe Aufgabe. Ich war mit der OverbyteICS Lösung weitaus zufriedener - ich weis allerdings nicht wie gut diese in Zukunft noch supported wird oder ob überhaupt?

Hier ein Link: http://wiki.overbyte.be/wiki/index.php/ICS_Download

Ich möchte diesen Thread zwar nicht hijacken aber ich wäre sehr dankbar, wenn mir jemand ein paar gute Beispiele für eine Indy Implementierung bei einer Client Anwendung (TCP) liefern könnte.

Folgende zwei konkreten Probleme hatte ich bei Indy (die OverbyteICS Implementierung lief eigentlich ziemlich reibungslos):
- Ein OnDataAvialable Event fehlt völlig, ich habe es mit einem Thread gelöst, der auf der Socket Ebene (IOHandler) die Methode pIndyTCPClient.Socket.CheckForDataOnSource(1) ausführt, wenn hier ein True zurückkommt löse ich mein eigenes OnDataAvailable Event aus.
- Das einfache Empfangen von Daten. Ich rufe pIndyTCPClient.Socket.ReadBytes(Buffer, size, False); auf und es tut sich nichts, bis nach ein paar Sekunden eine Exception geworfen wird. Gelöst habe ich dies, indem ich über den pIndyTCPClient.Socket.InputBuffer gehe. (hier darf man nach einem ExtractToBytes / ExtractToString) nicht vergessn ein Remove aufzurufen.

Diese Beispiele und meine Lösungen sind jetzt natürlich komplett aus dem Kontext gerissen, wenn mir hier jemand eine schöne / nützliche Implementierung zeigen könnte, wobei diese Fehler nicht auftreten wäre ich sehr dankbar.
Aber bitte kein Beispiel im Sinne von:

Code:
Socket.Connect;
Socket.WriteLn("Hello");
response := Socket.ReadLn;
Socket.Disconnect;
Nachteil an OverbyteICS: Nicht Android kompatibel. Dafür bietet sie allerdings meiner Meinung nach das schönere Interface.



[Dies war eine Antwort auf die Frage, welche TCP/IP Libraries sich in Delphi anbiete und kein eigenständiger Post, da dies keine Diskussion oder Fragerunde aufrufen sollte, sondern lediglich als Tipp, mit welcher der beiden Libraries ich besser klar kam und dass es nicht nur Indy gibt]


Schön, dass dieser Post komplett verschoben wurde und nun nicht mehr in der eigentlichen Frage als Antwort vorhanden ist. Somit wurde die Frage lediglich mit "Indy" beantwortet anstatt noch eine weitere option zu nennen.

Geändert von ExceptionOverflow (11. Feb 2016 um 13:53 Uhr)
  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 20:50 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