Seite 1 von 1

SendNetworkString() auseinanderhalten

Verfasst: 14.01.2010 19:27
von Joel
Hi,

Wenn ich in meinem Client mit SendnetworkString() einen String sende und sofort danach noch einen, dann überlappen sich die zwei Strings und werden als einer ausgegeben.

Ist es irgendwie einfach möglich, egal wie viele Strings gesendet wurden, per NetworkServerEvent() erstmal nur ein Event zu Verarbeiten (also eine String) und bei nächsten NetworkServerEvent() Aufruf den anderen?

Re: SendnetworkString() auseinanderhalten

Verfasst: 14.01.2010 19:32
von mk-soft
Handshake fehlt

1. Client sendet String 1
2. Server bestätigt empfang
3. Client sendet String 2
4. Server bestätigt empfang
5. ....

Re: SendNetworkString() auseinanderhalten

Verfasst: 14.01.2010 19:39
von Joel
ja hab ich mal versucht, aber das ist alles zu viel Unordnung. nach jedem senden muss ja dann eine schleife hin, die fragt, ob der String angekommen ist bzw. ein Wert sich geändert hat. Ich sende in meinem Programm sehr viel. Mit diesen Schleifen würde es doppelt so groß werden.

Gibt es nicht Möglichkeiten immer nur ein Event abzurufen. Oder mit irgenteinem speziellen Zeichen die 2 Packete voneinander zu trennen?

Re: SendNetworkString() auseinanderhalten

Verfasst: 25.03.2010 09:57
von DNA
Deine Frage ist zwar schon etwas länger her, aber ich hatte auch das gleiche Problem und das wie folgt gelöst:
Hinter jeder Nachricht steht ein Ende, was für alle gilt, dabei musst du halt achten, dass diese Zeichenfolge nie in der eigentlichen Nachricht auftauchen wird. Evtl. funktioniert es auch wenn du einfach nicht druckbare zeichen nimmst. z.B. CHR(1).

Naja, also wenn du ein Ende bestimmt hast, und das hinter jeder Nachricht steht, kannst du einfach in einer Schleife alles abarbeiten lassen. Musst halt nur immer an der entsprechenden Stelle den String auseinander nehmen. Wenn es nur ein Zeichen ist, kannst das mit StringField machen.

PS: Bei mir funktioniert das ohne Probleme.