Autor Beitrag
SebastianW
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 09.09.02 12:12 
Hallo,

Ich habe nen kleines Problem. Undzwar progranmmiere ich mit nem Kumpel zusammen so ne Art Chat. Wollen wir dann z.B . die Teilnehmerliste AN ALLE Clients versenden, fragen wir über activeconnections die anzahl der verbundenen clients ab und schicken dann über eine schleife an jeden Client einzeln. Bei vielen verbundenen Clients tritt dann allerdings eine relativ grosse Zeitdifferenz ein,weil eben immer diese schleife durchlaufen wird.

Gibt es eine Möglichkeit an mehrere (oder alle) Clients gleichzeitig zu senden???

mfg Sebastian
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Mo 09.09.02 20:52 
Also ich schätz einmal, dass Eure Variante für Euren Chat völlig ausreicht. Eine Verzögerung wird dabei nur shr minimal auftreten.
Du könntest aber auch immer ServerSockets zur Laufzeit erstellen,d ei alle einzeln senden.
Aber das wäre irgendwie blöde...
M4EiB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Di 10.09.02 01:15 
mehrere server erstellen wird nicht viel bringen, da man nur einen server pro port eröffnen kann.

eine möglichkeit wäre der einsatz von threads. so viel ich weiss heissen die clientconnections ja auch threads. ob sie ich bei funktionen diesbezüglich auch wie threads verhalten kann ich nicht sagen. falls das nicht der fall ist musst du dir wohl selber einen thread dafür basteln. am besten schaust du in der delphi-hilfe mal unter TThread.
Hagbard Celine
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 119



BeitragVerfasst: Fr 20.09.02 11:27 
M4EiB hat folgendes geschrieben:
mehrere server erstellen wird nicht viel bringen, da man nur einen server pro port eröffnen kann.


Du kannst fals die Zeitspanne wirklich zu groß wird auch hingehen und einen Server als anmeldeServer nehmen.

Wenn ein Client sich jetzt anmeldet so bekommt er eine Nachricht mit dem Port an welchem er sich anmelden Soll!
Auf Serverseite erzeugst du einen neuen Server welcher diesen Port zugeteilt bekommt!

So kannst Du alle Clients auf eine Anzahl x Server verteilen!
Jetzt brauchst DU nur gleichzeitig alle Server zum senden der Informationen an Ihre Clients veranlassen!

PS.: Euer Problem ist ja scheinbar das jeder Client immer akruell alle Daten empfängt wer online ist oder???

Bis zu welcher Benutzeranzahl ist das aber sinnvoll?
Ab welcher Benutzeranzahl ist eine ServerSocket Verbindung nicht mehr ausreichend???
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Fr 20.09.02 12:03 
nur mal so ne Frage:

Ist es eigentlich sinnvoll so viele Server zu erstellen? Ich meine, wenn sich 500 Leute anmelden, hat man auch mal eben 500 Ports offen, also mich würde das stören. Außerdem bin ich mir nicht sicher, ob das unter Win9x sich nicht auf die Systemstabilität auswirkt.

_________________
Viele Grüße
Jakob
Hagbard Celine
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 119



BeitragVerfasst: Fr 20.09.02 12:28 
DeCodeGuru hat folgendes geschrieben:
nur mal so ne Frage:

Ist es eigentlich sinnvoll so viele Server zu erstellen? Ich meine, wenn sich 500 Leute anmelden, hat man auch mal eben 500 Ports offen, also mich würde das stören. Außerdem bin ich mir nicht sicher, ob das unter Win9x sich nicht auf die Systemstabilität auswirkt.


Wenn man auf mehrere Server verzichten kann so ist das bestimmt besser! Man muss sie ja auch noch syncron steuern!!!

Wenn es aber garnicht anders geht sollte man nicht für jeden Client einen eigenen Server starten!

Man kann ja immer einer festen Anzahl an usern einen Server starten!!!

Aber die frage ist was sollen 500 User an informationen bekommen wo es auf Sekunden oder wenige Minuuten ankommt! Da muss die Datenmenge schon enorm sein und die Anzahl der Benutzer ebenso!!!
rochus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416

Win XP Prof, Fedora Core 4, SuSE 7.0
D7 Ent, D2005 Pers
BeitragVerfasst: Mi 25.09.02 23:07 
oder man macht das per multithreading.. ist aber auch sehr umständlich