> ich bastele jetzt schon ne Weile an nem Chat auf ASPX und XML 
> Basis. Die
> Daten werden dabei �ber Response/Request im XML Format 
> �bertragen. 

Du meinst IE-only mit xml-data-islands oder xmlhttp im client?

> Ich kann mich nicht entscheiden zwischen
> 
> - Die User alle x Millisekunden komplett �bertragen...
> - Jeweils einen Eintrag f�r User XY hinzu bzw. user XY weg �bertragen?
> 
> Was denkt ihr? Bei Mgl.2 denke ich kann es schon mal 
> passieren das eine
> Nachricht unter geht oder? (oder auch nicht *gr�bel*).

Wenn du es richtig machst nicht. Wieviele User sind den normalerweise in
so nem raum? Lohnt sich die ersparnis?
Wenn Du es machen willst, w�re das ne M�glichkeit:
�BERBLICK:
Serverseitig wird f�r jede Aktion(hinzu/weg) eine aktionsnummer
hochgez�hlt(in ner appl-var).
Wenn der browser die �nderungen in der Userliste anfordert, dann macht
er das mit der letzten aktionsnummer.
Der server sendet dann alle updates mit h�herer nummer.
GENAUER:
Der Server h�lt neben der raumbesetzung eine Liste der letzten aktionen,
z.B. so:

Nr, zeit, aktion, user
[144, 16.07.03 17:00:33, hinzu, User1]
[145, 16.07.03 17:00:55, hinzu, User2]
[146, 16.07.03 17:01:01, weg, User1]
[147, 16.07.03 17:01:23, weg, User3]

- Zu alte aktionen werden weggeworfen, also z.B. �ltere als 1min... Das
reicht locker aus, wenn z.B. alle 5sec refresht wird o.�.
- neue aktionen mit gleichem user l�schen alte aktionen mit diesem
user... D.h. wenn zu obiger liste folgendes hinzukommt: [148, 16.07.03
17:01:45, hinzu, User1], dann sieht sie so aus:
[144, 16.07.03 17:00:33, hinzu, User1]
[145, 16.07.03 17:00:55, hinzu, User2]
[147, 16.07.03 17:01:23, weg, User3]
[148, 16.07.03 17:01:45, hinzu, User1]
^ man beachte 146 besteht nicht mehr...

Wenn jetzt z.B. ein browser anfragt und die nummer 145 mitschickt, dann
bekommt er die datens�tze 147,148... Und n�chstes mal fragt er mit 148
an, etc.

Wenn eine anfrage vom browser kommt mit einer zahl die kleiner ist als
der kleinste eintrag in der liste, z.B. 140(kleiner 144!), deutet das
darauf hin, das was schiefgelaufen ist(client hatte l�nger als eine
minute kein refresh durch netzprobleme o.�. und hat updates verpasst)
und es wird eine komplette liste der user geschickt, mit vorheriger
anweisung die clientseitige liste zu l�schen.

Dieses verhalten hilft auch beim start des chats... Da kann der client
n�mlich bei der anfrage der �nderungen ein 0 schicken und bekommt
dadurch die ganze liste.

> Bei M�glichkeit 1
> h�tte ich noch den Vorteil das ich die "Time-To-Live" 
> �bertragen k�nnte
> und bei jedem User dazuschreiben...

Welche TTL genau meinst du? Wof�r ist die gut?


Claudius

_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an