TCP Server Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Toasty

Betreff: TCP Server Problem

BeitragSo, Jun 13, 2010 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich hab mit meinem Login Server ein Problem:
Wenn ich mich das erste mal einlogge, läuft alles glatt.
Aber wenn ich mich ein zweites mal einloggen will,
kommt beim Server nur 0 an. Woran kann das liegen?

Der Server prüft mit AcceptTCPStream() ob ein Client sich verbunden hat.
Danach senden sie sich Username und Passwort und der Server prüft es.
Der Stream wird mit False resettet damit erst dann mit dem Client kommuniziert werden soll,
wenn der CLient auch fragt.

Was kann ich dagegen tun?

Gruß Toasty
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President!

ToeB

BeitragSo, Jun 13, 2010 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhm... Code währe nicht schlecht Wink

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Toasty

BeitragSo, Jun 13, 2010 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier der gewünschte Code in BlitzBasic: [AUSKLAPPEN]
Repeat
strm=AcceptTCPStream(tcp)

If Not strm=False Then
req$=ReadString(strm)
;...
strm=False
EndIf

;...
Forever
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President!

ToeB

BeitragSo, Jun 13, 2010 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
also erstmal das "strm = False" brauchst du nicht da strm jede Schleife neu gesetzt wird. Und was genau da ist dein Problem ? Das reg$ 0 ist bei der zweiten Anfrage ? Da müsstest du schon mehr schicken, z.B. den code vom Clienten....

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Toasty

BeitragSo, Jun 13, 2010 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab den Login Server mit nem Log versehen...

Log:Zitat:
15:16:15 Log initialized.
15:16:15 Reading configurations...
15:16:15 TCP Server started sucessfully. Port: 8080
15:16:23 Got Username. (test) <--- Das ist beim ersten Login und funktioniert
15:16:29 Got Username. (0) <--- Hier nichtmehr...


Der Username wird da ausgelesen:
BlitzBasic: [AUSKLAPPEN]
	strm=AcceptTCPStream(tcp)
If Not strm=False Then
req$=ReadString(strm)
If req$="LoginUser" Then
WriteString strm,"UserName"

Repeat
If Not user$="" Then Exit
If lotimeout%=timeout% Then add_msg$="timeout":Exit

user$=ReadString(strm)

lotimeout%=lotimeout%+1
Delay 1
Forever
lotimeout%=reset()

note("Got Username. ("+ user +")") ;note() mach Log-Einträge
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President!

Eingeproggt

BeitragSo, Jun 13, 2010 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein dass da noch andere Daten im Strem liegen die du nicht vollständig ausliest?
Ich würde bei jedem AcceptTCPStream bis Eof lesen um sicherzugehen dass ich jedes Byte rausputze.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Toasty

BeitragSo, Jun 13, 2010 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber ich resette doch den Stream und alles drum herum... Rolling Eyes
Da kann das doch nicht sein das ich etwas vergessen hab...
Aber ich probier es trotzdem mal aus Wink
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group