Network langsam?
Network langsam?
Ist das Network von PB geeignet für MMORPGS?
Kein 3D oda so wie WoW oder Everquest, eher Textadventure + Bilder und so, also wie Browsergames.
Wenn da 100 Spieler online sind und Daten senden, lagt es nicht dann nicht?
Also mit nem Chat hab ich die erfahrung gemacht (user schreibt -> server schickt an alle Clients den Text) (2 User warn online) das es laggen kann wenns aufm Privat-PC läuft.
Kein 3D oda so wie WoW oder Everquest, eher Textadventure + Bilder und so, also wie Browsergames.
Wenn da 100 Spieler online sind und Daten senden, lagt es nicht dann nicht?
Also mit nem Chat hab ich die erfahrung gemacht (user schreibt -> server schickt an alle Clients den Text) (2 User warn online) das es laggen kann wenns aufm Privat-PC läuft.

-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Grob gesagt TCP hat Verbindungen, dessen Nachrichten sicher übermittelt werden und UDP hat keine Verbindung, dessen Nachrichten auch nicht sicher übermittelt werden, dafür ist es aber schneller als TCP.sen-me hat geschrieben:Doch hab mir weil es nicht anders ging 4 geholt
wasn der unterschied zwischen UDP und TCP?
Also in geschwindichkeit, was macht es aus bei denen?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Nicht ganz so grob gesagt:
TCP garantiert dir, dass deine Daten fehlerfrei und in der Richtigen Reihenfolge eintreffen; Sendefehler werden automatisch korrigiert. Empfängt nur angeforderte Daten.
UDP sendet einfach so Daten und hat keinerlei Fehlerkorrektur. Dafür geht das senden halt schneller. Habe auch mal gehört, dass man mit UDP auch einfach so an einen x-beliebigen Rechner Daten schicken kann, und er sie annimmt, obwohl er sie nicht engefordert hat.
Tipp: Nimm UDP. Eine einfache Fehlerkorrektur kannst du dir ja selber bauen, indem du deiner Zeichenkette, die du übermittelst, z. B. einen CRC32 Code anhängst. Dann kann der Server prüfen, ob die Daten korrekt angekommen sind. Die meisten Spiele, z. B. Tactical Ops und Gouda Strike benutzen ebenfalls UDP. Das ist auch der Grund, weshalb ich mit OB3.94 nicht auf einen Server connecten konnte
TCP garantiert dir, dass deine Daten fehlerfrei und in der Richtigen Reihenfolge eintreffen; Sendefehler werden automatisch korrigiert. Empfängt nur angeforderte Daten.
UDP sendet einfach so Daten und hat keinerlei Fehlerkorrektur. Dafür geht das senden halt schneller. Habe auch mal gehört, dass man mit UDP auch einfach so an einen x-beliebigen Rechner Daten schicken kann, und er sie annimmt, obwohl er sie nicht engefordert hat.
Tipp: Nimm UDP. Eine einfache Fehlerkorrektur kannst du dir ja selber bauen, indem du deiner Zeichenkette, die du übermittelst, z. B. einen CRC32 Code anhängst. Dann kann der Server prüfen, ob die Daten korrekt angekommen sind. Die meisten Spiele, z. B. Tactical Ops und Gouda Strike benutzen ebenfalls UDP. Das ist auch der Grund, weshalb ich mit OB3.94 nicht auf einen Server connecten konnte

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Und was ist mit so einer Maschiene
?
http://www.amdboard.com/iwill_h8502_8way.html
Mit Opteron Double Core wären das 16 Prozessoren in einem Server...

http://www.amdboard.com/iwill_h8502_8way.html
Mit Opteron Double Core wären das 16 Prozessoren in einem Server...
Stimmt, also an Rechenleistung hängts sicher ned:
Der UO-freeshard "Schattenwelt" lief lange Zeit auf nem PIII 1GHz mit 512MB Ram... Und da waren zu stoßzeiten schonmal so 300 Leutz locker online...
Allerdings hatten die ne ganz andere I-net Anbindung
Wenn du das ganze privat machen willst, solltest du dir vllt. überlegen ob die Bilder nicht offline verfügbar sind, sprich auf jedem client vorhanden. Das würde schonmal n haufen zeit sparen, was bliebe wäre der Text. Ich kann mir nur irgendwie grade etwas schlecht vorstellen dass n Chat bei zwei usern lagt. Das wäre sogar für TCP/IP etwas krass.
Sogar bei DSL 1000 haste im Schnitt nen Upstream von ca 16KB/s, was für des bissel text allemal ausreichen sollte. N paar millisekunden kannste auch noch mit Fastpath rausholen.
Die versessenheit auf UDP kann ich übrigens nicht ganz verstehen, da es durchaus online games gibt die damit laufen, und das mit durchschnittlichen latenzzeiten. Es kommt eben auch immer auf den netzwerkcode an. Eine bescheiden programmierte UDP basierte network engine kann um ein x-faches langsamer sein als ein gut durchdates TCP/IP pendant.
Aber zu deiner eigentlichen Frage ob es denn geeignet sei:
Ich hab bisher gute Erfahrungen damit gemacht mit n paar kleineren Projekten, da gabs auch nur wirklich hohe latenzen wenn irgendwo im code mal n absoluter käse stand
Meine 5 cent.
Mfg
RaVeN
Der UO-freeshard "Schattenwelt" lief lange Zeit auf nem PIII 1GHz mit 512MB Ram... Und da waren zu stoßzeiten schonmal so 300 Leutz locker online...
Allerdings hatten die ne ganz andere I-net Anbindung

Wenn du das ganze privat machen willst, solltest du dir vllt. überlegen ob die Bilder nicht offline verfügbar sind, sprich auf jedem client vorhanden. Das würde schonmal n haufen zeit sparen, was bliebe wäre der Text. Ich kann mir nur irgendwie grade etwas schlecht vorstellen dass n Chat bei zwei usern lagt. Das wäre sogar für TCP/IP etwas krass.
Sogar bei DSL 1000 haste im Schnitt nen Upstream von ca 16KB/s, was für des bissel text allemal ausreichen sollte. N paar millisekunden kannste auch noch mit Fastpath rausholen.
Die versessenheit auf UDP kann ich übrigens nicht ganz verstehen, da es durchaus online games gibt die damit laufen, und das mit durchschnittlichen latenzzeiten. Es kommt eben auch immer auf den netzwerkcode an. Eine bescheiden programmierte UDP basierte network engine kann um ein x-faches langsamer sein als ein gut durchdates TCP/IP pendant.
Aber zu deiner eigentlichen Frage ob es denn geeignet sei:
Ich hab bisher gute Erfahrungen damit gemacht mit n paar kleineren Projekten, da gabs auch nur wirklich hohe latenzen wenn irgendwo im code mal n absoluter käse stand

Meine 5 cent.
Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Also immer lagte es nicht
Der Client sendete ne Nachricht und wartete auf ne antwort vom Server (der sendet dann an alle Clients die Nachricht, sprich wenn du deine Nachricht nicht erhälst sofort, dann lagt es)
Und es lagte auch nur wenn man schnell ein paar Sätze schreibt (beide Clienten)
Aber ich frage mich, ob das so klug wäre.
Denn es gibt ja ne Warteschlange wo die Daten bearbeitet werden er kann ja nicht 2 Clients gleichzeitig behandeln, vor allem wenns 100 sind.
D.h. für ein Spiel (meins nich) das Ego-Shooter oder so hat wäre das doch tötlich wenn man nur 1 Programm hat was Daten verarbeitet O.o
Der Client sendete ne Nachricht und wartete auf ne antwort vom Server (der sendet dann an alle Clients die Nachricht, sprich wenn du deine Nachricht nicht erhälst sofort, dann lagt es)
Und es lagte auch nur wenn man schnell ein paar Sätze schreibt (beide Clienten)
Aber ich frage mich, ob das so klug wäre.
Denn es gibt ja ne Warteschlange wo die Daten bearbeitet werden er kann ja nicht 2 Clients gleichzeitig behandeln, vor allem wenns 100 sind.
D.h. für ein Spiel (meins nich) das Ego-Shooter oder so hat wäre das doch tötlich wenn man nur 1 Programm hat was Daten verarbeitet O.o
