![]() |
D7+Indy 10 -> TCP Server Verbindungen in Klasse abkapseln
Hallo. Ich habe Delphi 7 Pro und benutze die Indy Components in der Version 10.0.52.
Ich möchte nun gern folgendes realisieren, komme da aber irgendwie nicht vorwärts. Ich möchte einen TCP-Server laufen lassen. Wenn eine Verbindung eingeht möchte ich diese an eine Klasse übergeben. Diese Klasse soll sich dann komplett um diese Verbindung kümmern. In der Klasse ist quasi das ganze Protokoll enthalten. Die Klasse soll also Nachrichten von den Clients bemerken und auf diese reagieren. Zusätzlich sollen in der Klasse Anmelde- Informationen und Status- Informationen gespeichert bleiben, die sich aus dem Protokoll ergeben. Ich habe nun schon etliche Beispiele zu Indy durchgearbeitet. Aber entweder haben die eine andere Basis (bei mir übergibt Connect aus dem TCP Server eine Variable AContext, nicht die in fast allen Beispielen angeführte IdThreadConnection. Mir ist an dieser Stelle auch nicht klar, wie ich dieses AContext an die Klasse übergeben könnte, dass die Klasse sowohl senden als auch empfangen kann. Vielleicht hat jemand dazu einen guten Ansatz bzw. ein brauchbares Beispiel? Sveni |
Re: D7+Indy 10 -> TCP Server Verbindungen in Klasse abkap
Also das weiterleiten an sich müste schon gehen,
ich nutze in meinem Balanced auch die indy Komponenten TCP /IP im speziellen um sicher zu stellen das Server und Cleint die selben Levels geladen haben. Bei mir sieht das so aus :
Delphi-Quellcode:
Wobei TFileReceiver dann ne Klasse ist die ich aus nem Sample hab und diese speichert mir dann die ankommenden daten in nem Memorystream den ich dann weiter verarbeiten kann ;).Procedure TNetwork.TcpServerExecute(AThread: TIdPeerThread); Var fname, pfad, sClientMsg: String; FileReceiver: TFileReceiver; Begin Try // Clientnachricht lesen sClientMsg := AThread.Connection.ReadLn(#$A, 5500); FileReceiver := TFileReceiver.Create(AThread, sClientMsg); ich hoffe das kann dir weiterhelfen ... |
Re: D7+Indy 10 -> TCP Server Verbindungen in Klasse abkap
Darf ich fragen welche Indy Version du verwendest?
Denn bei mir wird im Execute übergeben:
Delphi-Quellcode:
Und dieses AContext enthält diesen PeerThread gar nicht.
IdTCPServer1Execute(AContext: TIdContext);
|
Re: D7+Indy 10 -> TCP Server Verbindungen in Klasse abkap
Indy 9 für D5
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 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