AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi D7+Indy 10 -> TCP Server Verbindungen in Klasse abkapseln?
Thema durchsuchen
Ansicht
Themen-Optionen

D7+Indy 10 -> TCP Server Verbindungen in Klasse abkapseln?

Ein Thema von sveni2211 · begonnen am 17. Jul 2007 · letzter Beitrag vom 17. Jul 2007
Antwort Antwort
sveni2211

Registriert seit: 22. Dez 2006
Ort: Friedrichroda
38 Beiträge
 
#1

D7+Indy 10 -> TCP Server Verbindungen in Klasse abkapseln

  Alt 17. Jul 2007, 11:14
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
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

Re: D7+Indy 10 -> TCP Server Verbindungen in Klasse abkap

  Alt 17. Jul 2007, 11:33
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:


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);
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 .

ich hoffe das kann dir weiterhelfen ...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
sveni2211

Registriert seit: 22. Dez 2006
Ort: Friedrichroda
38 Beiträge
 
#3

Re: D7+Indy 10 -> TCP Server Verbindungen in Klasse abkap

  Alt 17. Jul 2007, 12:42
Darf ich fragen welche Indy Version du verwendest?

Denn bei mir wird im Execute übergeben:

IdTCPServer1Execute(AContext: TIdContext); Und dieses AContext enthält diesen PeerThread gar nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#4

Re: D7+Indy 10 -> TCP Server Verbindungen in Klasse abkap

  Alt 17. Jul 2007, 13:33
Indy 9 für D5
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  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 01:52 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