Indy nutzen
hi
also erstmal: ja, ich habe gesucht und ja, ich habe in die hilfe geschaut. trotzdem habe ich folgendes problem: Ich möchte den IdTCPServer bzw Client zur Kommunikation nehmen. 1: welches ereigniss wird ausgelöst, wenn sich ein client zum server verbindet? 2: wo finde ich eine liste aller verbindungen die der Server hat? (um ne "Rundmail" zu schicken) 3: wie kann ich überhaupt daten senden? (Strings, StringList, Streams) 4: welche Compo benutze ich am besten um wirkliche mengen an daten zu senden? (mehrere Megabyte) wahrscheinlich würde mir auch ein gutes tutorial weiterhelfen, doc ich hab leider keins gefunden :( das bei delphi-source (Indy-Tutorial) war doch imho etwas dürftig :( mfg gereon |
Re: Indy nutzen
Hi glkgereon
Zu1: OnConnect? :stupid: Zu2: TIdTCPServer.Threads beinhaltet für jede Verbindung einen TIdPeerThread Zitat:
Zu4: Da sind die Indy-TCP-Kompos schon die richtige Wahl. Große Datei in handliche Happen von ein paar KB zerlegen und dann alle nacheinander schicken und im Server wieder zusammen bauen. DataCool hatte da mal eine schöne Demo zu geschrieben. MfG Christian |
Re: Indy nutzen
kann ich auch dateien mit dem server senden?
edit: wie kann ich denn auf die threads zugreifen? normal kommt da nur Create, InstanceSize und SafeCallException, als Array kommt da gar nix :( |
Re: Indy nutzen
Da hab' ich schonmal was geschrieben ... TClients
|
Re: Indy nutzen
Zitat:
Ich kenne die Antworten auf deine Fragen auch nicht auswendig und schaue jetzt in die Hilfe zu TIdTCPServer. Eigentlich sofort fällt ins Auge: zu Frage 1: das Ereignis OnConnect Mit etwas suchen in den Eigenschaften: zu Frage 2: die Eigenschaft Threads Das müsste eigentlich erstmal helfen. Frage 3 und 4 geht mir zu tief, da ich keinerlei Erfahrungen damit habe. //Edit: Und ziemlich langsam beim Schreiben des Postings ist man auch, wenn man während dessen die Hilfe studiert. :gruebel: :cry: :lol: |
Re: Indy nutzen
ich steh nur immernoch vor dem problem: was macht OnExecute???
und wie komme ich bitte an die Daten von Threads ran??? |
Re: Indy nutzen
On Execute wir ausgelöst, sobald ein Client mit dem Server kommuniziert.
Zum Zugriff: Sieh dir erstmal TList an. Hier ein noch ein kleines Beispiel, wie man an einzelne Clients kommt:
Delphi-Quellcode:
var eineVerbindung: TIdPeerThread;
begin try with idTCPServer1.Threads.LockList do begin if Count > 0 then eineVerbindung := Items[0]; end; finally idTCPServer1.Threads.UnlockList; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 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