sendnetworksstring() ->schneller

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

sendnetworksstring() ->schneller

Beitrag 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
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Splitte die Strings in teile und verschick sie alle gleichzeitug (müsste eigentrlich per CreateThread funzen habs aber net getestet)
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag 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
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag 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.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag 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
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Antworten