Client Streaming begrenzung?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Toasty

Betreff: Client Streaming begrenzung?

BeitragSo, Mai 09, 2010 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich habe jetzt den Login in meinem Online Game geschafft.
Da gehen ca. 4-5 Strings durch den Stream.
Aber danach soll der Client zu einer anderen der Server Apps
die Eigenschaften von dem Charakter abfragen.
Aber statt z.B. der ID von dem Charakter kommt beim Client "0" an.

Log: (09 May 2010_Game.log)
Zitat:
19:05:05 Initialize Log...
19:05:05 Initialize Loop...
19:05:05 Waiting for command
19:06:27 Client 127.0.0.1 created stream.
19:06:27 Waiting for Character Name
19:06:27 Got Character Name (0)
19:06:27 Waiting for level request


BlitzBasic: [AUSKLAPPEN]
;...
Print"Waiting for Level Request..."
WriteLine logf,CurrentTime() +" Waiting for level request"
Repeat
If lvreq$="level" Then Exit
lvreq$=ReadString(req)
Forever

If FileType(db$ +"dbo.Char/"+ char$ +".id")=0 Then WriteString req,"Mistake":WriteLine logf,CurrentTime() +"Character Files not found!":req=False:Goto dc
charf=ReadFile(db$ +"dbo.Char/"+ char$ +".id") ;<==== Here should be the Error...
ReadLine(charf) ;<==== Here is the Error found
lvl$=ReadLine(charf)

WriteLine logf,CurrentTime() +" Read out level"
WriteString req,lvl$
;...


Was ist das Problem?

Hakkai

BeitragMo, Mai 10, 2010 2:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Wer kommuniziert denn da bei dir?
Client <-> Client wird wohl nicht gehen.
Muss aber auch gestehen das ich deinen Code nicht verstehe.

meinst du damit: "Aber danach soll der Client zu einer anderen der Server Apps ...", das der Client Daten zu einem anderen Client abfragt? So lange du dazu den Server ansprichst, sollte das eigentlich gehen.

mpmxyz

BeitragMo, Mai 10, 2010 7:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist ein ziemlich seltsamer Code... Kommentare sind meiner Meinung nach zum richtigen Verständnis angebracht.
Deine Umgang mit den Streams bzw. eigentlich der komplette Programmablauf kommt mir komisch vor:
  1. Du liest aus dem Stream req so lange Strings aus, bis der String "level" dabei ist. (+eine Endlosschleife, wenn er nie ausgelesen wird)
  2. Wenn ein irgendwoher bestimmter Dateiname weder als Ordner noch als Datei existiert, wird etwas in den Stream req geschrieben, wobei, wenn man annehmen kann, dass dieser an der momentanen Position noch nicht zu Ende ist, Daten überschrieben werden. Nach der Stelle, an der das geschrieben wurde, gehen also alle Daten verloren. Danach wird durch "req=False" verhindert, dass der req-Stream geschlossen werden kann. Zum Schluss kommt hier noch ein Goto in irgendeine dunkle Ecke.
  3. Sonst wird die Datei mit dem gewissen Dateinamen geöffnet, deren zweite Zeile ausgelesen und in den Stream req geschrieben.

So viel zu meinem Verständnis dieses Codes.
Ich empfehle, Stop zum weiteren Debuggen zu nutzen und eventuell ein paar weitere Debug-Ausgaben, wie Variablenwerte, zu machen.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group