Einzelnen Beitrag anzeigen

MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#1

Datenübertragung im Netzwerk

  Alt 22. Jun 2014, 13:12
Hallo,

ich habe mit den Standard-Komponenten von Delphi einen Client und einen Server erstellt.
Zunächst sende ich eine Anfrage an den Server. Diese Anfrage wird bearbeitet und das Resultat soll zurück an den Clienten gesendet werden.
Wie stelle ich das am besten an?

1. Ich bearbeite die Anfrage direkt im OnAccept Event des Servers und könnte dann über Clientsocket zurücksenden.
2. Der Server bekommt zusätzlich eine Client Komponente und der Client noch eine Server-Komponente. (Wobei mir das eher als nicht praktikabel vorkommt)

Zu Lösung 1:
Das Problem bei Lösung 1 ist, das die Bearbeitung der Anfrage, welche der Server erhalten hat, evtl. ein bisschen Zeit in anspruch nimmt. Ich denke mir, dass das nicht so gut ist, wenn ich die Server-komponente durch die Bearbeitungszeit so lange blockiere.

Zu Lösung 2:
Aktuell speichere ich die erhaltenen Anfragen in eine Art Job-Liste und bearbeite sie der Reihe nach ab. In der Jobliste steht auch die IP-Adresse, von der die Anfrage ursprünglich kam.
Meine Gedanke war dann, nach der Bearbeitung das Resultat zurück zum Client zu senden. Ich habe jetzt aber nur dessen IP und kann nicht mehr auf Clientsocket vom OnAccept Ereignis zurückgreifen.
So wie ich das verstehe, kann der Server nur über den Clientsocket zum Clienten senden.

Welcher Weg wäre hier zu empfehlen?
  Mit Zitat antworten Zitat