Seite 1 von 1

sendnetworksstring() ->schneller

Verfasst: 18.02.2005 19:31
von Lukas-P
HALLO :mrgreen:


Also ich hab mir ein online spiel programmiert :-D server und so läuft einwandfrei.
AUSSER: Wenn ich mit sendnetworkstring() was sende dann empfängt der alles in einem. Und wenn ich chr(0) am ende noch hole dann geht ja der rest verlohren.

hatt jemand eine Idee wie das besser gehen könnte?


Das muss ja alles ganz schnell gehen

Verfasst: 18.02.2005 19:47
von 125
Splitte die Strings in teile und verschick sie alle gleichzeitug (müsste eigentrlich per CreateThread funzen habs aber net getestet)

Verfasst: 18.02.2005 20:22
von RaVeN99
Verschicke alles in einem string, teil die relevanten bereiche mit em trennzeichen ab und der client splittets dann auf...
Nennt sich bytecode Protokoll afaik...
So schickste nur einmal und dann hat auch nur der client arbeit - eben wenn er den string zerteilt.
Spart wertvolle rechenzeit beim server und geht ziemlich zackig.


Mfg
RaVeN

Verfasst: 18.02.2005 20:37
von 125
aber er wills ja net alles in einen String packen:
USSER: Wenn ich mit sendnetworkstring() was sende dann empfängt der alles in einem.

Verfasst: 18.02.2005 21:15
von RaVeN99
Des kannste sehen wie du willst:
Ich habs so interpretiert als würde es ihm schwierigkeiten bereiten die einzelnen Daten dann aus dem string rauzukriegen...
Kann natürlich auch falsch interpretiert sein

Das mit den Threads würde ich mir überlegen - wenn das programm auf die daten aus den strings zugreiffen muss kanns u.U. schlecht ausschauen - Strings sind nicht Thread sicher...
Kann zu Fehlern kommen - muss aber nicht.
Und gleichzeitig kann er die gesplitteten strings eh nicht verschicken - die Threads laufen nacheinander ab, wenn jetz des ganze dumm läuft lagt ein Paket und kommt nach dem Paket an welches eigentlich im originalzustand das letzte wort war - wie willste des filtern???

Insofern würde ich zu der Byteprotokoll Methode greifen - alles in einem, kein Problem mit der Reihenfolge. Und schnell noch dazu.


RaVeN