| Autor |
Beitrag |
SilK
Hält's aus hier
Beiträge: 6
Win2000, Win98, OS X
|
Verfasst: Di 31.05.05 04:33
Hi,
will folgendes Projekt realisieren:
Die Turnierleitung sitzt an einem Rechner (Server) und gibt alle aktuellen
Ergebnisse ein.
5 weitere Rechner (Clients) stehen am Spielfeldrand verteilt und sind per
WLAN mit dem Server verbunden. Sie sollen in best. Zeitabständen (5 Sekunden)
die Daten vom Server abholen und anzeigen.
1. Wie kann man Daten in Delphi im LAN übertragen (Indy?)?
2. Wie überträgt man die Daten am Besten (Stream, Array, ...)?
|
|
Hansi@OMG
      
Beiträge: 304
Vista
Delphi 2006 Prof., Lazarus
|
Verfasst: Di 31.05.05 06:08
Die einfachste Lösung wäre wahrscheinlich, dass du die aktuellen Daten in eine Datei speicherst und diese auf dem Server als einen Webserver freigibst. Auf den Clienst gibst du alle 5 s den Befehl, dass der idhttp die Datei einfach vom Webserver runterladen soll (idhttp1.get('http://192.168.6.1/daten.dat')  .
_________________ Who doesn't know the Micrsoft developer "Mahatma Fatal Error"?
|
|
SilK 
Hält's aus hier
Beiträge: 6
Win2000, Win98, OS X
|
Verfasst: Di 31.05.05 23:24
danke...werd das mal versuchen
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mi 01.06.05 18:35
Wieso nicht einfach die Datei in einem Netzwerkordner ablegen und von den Clients einfach einlesen?
|
|
Torti
      
Beiträge: 17
WinXP
D7 Prof
|
Verfasst: Mo 06.06.05 08:49
Hallo !
Mit einfachen Dateien wäre ich da etwas vorsichtig. Wenn der Server z.B. gerade schreibt und ein Client will die Datei lesen, könnte es zu Fehlermeldungen kommen, da die Datei gerade in gebrauch ist.
Wieso keine Datenbank auf dem Server von dem sich dann die Clients die Daten holen ?
Da alles ja im gleichen Netz ist, ist das doch recht simpel. Bei z.B. Access einfach das Verzeichnis freigeben, bei DB-Server (MSDE, Firebird,..) könnte direkt darauf zugegriffen werden.
Indy-Komponenten oder so brauchst du dafür nicht.
Gruß
Torti
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mo 06.06.05 10:28
@Torti: Natürlich checke ich, ob ich lesen kann und versuchs ggf einfach nach "200ms + Random (300)" nochmal. Das klappt ganz gut. Weiterhin kann ich ja die Dateien per FileStream so lesen/beschreiben, das der Schreiber dem Leser das lesen erlaubt (Filemode und Accessrights im TFileStream.Create).
Allerdings: Ne kleine DB wär schon das Ware. Wenn's nur keine Paradox, Access (bei >5 Teilnehmern) ist. Paradox ist zu instabil und Access k*ckt bei so ca. 5+ Clients irgendwann ab.
Ich mach sowas übrigens mit Socken äh Sockets. Da hat Torti recht. INDY Komponenten braucht man nun wirklich nicht.
|
|
blaueled
      
Beiträge: 133
Win XP
D5
|
Verfasst: Fr 17.06.05 15:06
Man kann auch eine MySQL Datenbank nehmen...
Die ist in dem fall umsonst und stabil.
Außerdem kann man die auch mit Standart Delphi
nutzen ...
Arne
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Fr 17.06.05 21:42
mySQL ist nicht stabil. Schalte mal den Server ab, während gerade etwas geschrieben wird.  Die DB ist dann vermutlich unwiederbringlich im Eimer. Wenn schon, dann eine richtige DB, also PostgreSQL, MSDE o.ä. mySQL ist billig. Im wahrsten Sinne des Wortes.
|
|
sango
      
Beiträge: 236
WinXP Home
Delphi 2005 Pro
|
Verfasst: Sa 18.06.05 00:26
deine aussage ist etwas übertrieben behaupte ich mal. wir arbeiten mit mysql seit jahren, und es gab nie ein problem mit der mysql.
auch serverabstürze waren bisher immer ohne folgen.
in jeder datenbank kann man es provozieren die daten zu zerstören. es gibt viele bekannte beispiele bei denen sich zeigt wie zuverlässig mysql ist, und mit welchen belastungen diese datenbank auskommt. bestes beispiel google.
www.mysql.de/customers/
ich mag mysql, muss ich gestehen.
|
|
blaueled
      
Beiträge: 133
Win XP
D5
|
Verfasst: Sa 18.06.05 07:50
| Zitat: | | ich mag mysql, muss ich gestehen. |
Ich auch ...
Ich habe nur Delphi Standart, und das kann
Postgres nicht.
Ich habe einen Bequemen Zugriff mit
www.fichtner.net/delphi/mysql.delphi.phtml
realisieren können.
Und riesige Datenbanken werden es bei einem
Fussballturnier sowieso nicht ...
und die Clients müssen gar nicht in die Datenbank
schreiben.
Arne
|
|