AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wie kann ich: "Ein Realtime System programmieren"
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich: "Ein Realtime System programmieren"

Ein Thema von ElectricalFire · begonnen am 11. Feb 2005 · letzter Beitrag vom 11. Feb 2005
Antwort Antwort
ElectricalFire

Registriert seit: 20. Dez 2004
Ort: Zürich
19 Beiträge
 
Delphi 2005 Architect
 
#1

Wie kann ich: "Ein Realtime System programmieren"

  Alt 11. Feb 2005, 18:10
hallo leute

es geht um folgendes: ich moechte dass mein server programm an den clienten (alle clienten) etwas schicke, sobald es geupdatet worden ist (ein timer des clienten, der immer wieder den server nach neuen daten fragt, ist nicht die loesung).

ihr muesst euch das so vorstellen, dass eine server/clienten verbindung immer besteht, und da werden dann je nach dem immer wieder daten verschickt, ohne, dass die verbindung danach beendet wird.

wie kann ich eine solche "dauer verbindung" programmieren?

Danke viel mals!

ps: wenns geht mit indy 10, ansonsten ist auch indy 9 ok...
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 18:12
Du könntest ja, sobald der Update-Stream vorbei ist, vom Client aus an den Server ein Kommando (einen String oder so) schicken, dass der Update-Vorgang beendet ist, und darauf dann reagieren...
Julian J. Pracht
  Mit Zitat antworten Zitat
Andis
(Gast)

n/a Beiträge
 
#3

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 18:13
Kann deine Datenbank auch Triggers? Dann weisst du schon ungefähr wie es geht
Welche Datenbank willst du nutzen?
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 18:17
Bist du sicher, dass er eine Datenbank nutzt?
Ich konnte oben nichts davon lesen
Julian J. Pracht
  Mit Zitat antworten Zitat
Andis
(Gast)

n/a Beiträge
 
#5

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 18:19
Hihi danke o mann ich glaube ich sollte mal ein bischen Pause machen
  Mit Zitat antworten Zitat
ElectricalFire

Registriert seit: 20. Dez 2004
Ort: Zürich
19 Beiträge
 
Delphi 2005 Architect
 
#6

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 18:31
ultimator,
du meinst also, so im pseudo code:

wenn server bekommt string mit inhalt "fertig"
dann close connection und client soll eine neue aufbauen...?

naja, irgend wie schon das was ich habe, jedoch will ich nicht immer verbindungen aufbauen muessen (zeitaufwaendig, performance frage)

es soll einmalig eine connection aufgebaut werden, wo immer wieder daten gesendet werden.
beispiel bei einer telnet verbindung. man verbindet 1 mal und dann kann man befehle schreiben, die resultate lesen und dann herum idlen. dann wieder was schreiben, etc...

ablauf ware folgendermassen:

1. server kriegt daten
2. server sendet daten clienten, der durch sein einloggen dauerhaft verbunden ist.
3. server wartet auf neue daten, in der zeit rattert der client die daten gegebenermassen um.

mein problem ist ja, dass ich von einem server nicht an einen clienten senden kann, ohne dass schon eine verbindung entsteht, und mit tcpclient kann ich nur verbinden, wenn ich auch die ipadresse weiss (firewall, router, nat im weg).
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 18:37
Aber du hast doch oben geschrieben, dass die beiden (Server+Client) miteinander ständig verbunden sind, oder?

Client sendet Text an Server "Ich will senden"
Server sendet Text an Client "Ha, OK"
Client sendet nen Stream an den Server -> Dauert
Stream ist fertig gesendet -> Server sendet an den Client "fertig" oder so
Daher weiß der Client dann, dass er nix mehr zu tun hat, und auf weitere Befehle warten kann/soll


Oder hab ich wieder mal ne Hirnblockede?
Julian J. Pracht
  Mit Zitat antworten Zitat
ElectricalFire

Registriert seit: 20. Dez 2004
Ort: Zürich
19 Beiträge
 
Delphi 2005 Architect
 
#8

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 19:23
ja und wie programmier ich das jetzt?

oder wie soll ich dann warten koennen, welche kompos brauch ich da?
  Mit Zitat antworten Zitat
ElectricalFire

Registriert seit: 20. Dez 2004
Ort: Zürich
19 Beiträge
 
Delphi 2005 Architect
 
#9

Re: Wie kann ich: "Ein Realtime System programmieren&am

  Alt 11. Feb 2005, 20:41
ok habs selbst rausgefunden:

connect in einem thread:
Delphi-Quellcode:

procedure twinform.connect;
begin
  with TidTCPClient1 do begin
    Connect;
  end;
end;
Read in einem Thread:
Delphi-Quellcode:

procedure TWinForm.transfer
begin
  with TidTCPClient1 do begin
      listbox1.Items.Add(iohandler.readln);
  end;
end;
und server seitig:
Delphi-Quellcode:

procedure TWinForm.tcps1_onExecute(AContext: IdContext.TIdContext);
begin
with AContext.Connection do
  begin
    iohandler.WriteLn('Server/Client Connected Successfully!');
  end;
end;
  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 04:51 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