TCP Invalid Stream Handle |Error/Fehler

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Bobo2040

Betreff: TCP Invalid Stream Handle |Error/Fehler

BeitragDo, Jul 18, 2013 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Very Happy
Ich versuche mich grad nen bisschen mit TCP aber ich bin schon jetzt am Scheitern -.-'

Ich weiß nicht was an Meinem Code falsch ist....

BlitzBasic: [AUSKLAPPEN]
Global ServerAdress$ = "127.0.0.1" ;Domain / Ziel IP
Global ServerFile$ = "/LightOrbit/index.php" ;Ziel Datei
Global ServerSalt$ = "Logged In" ;Wonach gesucht werden soll
;-------- Username,Password ----------------
Global Username = Input$()
Global Password = Input$()
;------ Funktion Insert_datas() aufrufen ---

Insert_datas(Username,Password)



;----- Funktion Insert Username,Password ---
Function Insert_datas$(Username$,Password$)
Connection = OpenTCPStream(ServerAdress, 80) ;Verbinden

WriteString Connection, "GET"+ServerFile+"?username="+Username+"&password="+Password
WriteString Connection, "Host: "+ServerAdress
WriteString connection, ""

StartTimeOut = MilliSecs()

While Eof(Connection)
If MilliSecs()-StartTimeOut>3000 Then
Exit
EndIf
Delay 25
Wend

ExitCode$ = ReadLine(Connection)
While Not Eof(Connection)
DebugLog ReadLine(Connection)
Wend
Print ExitCode
Return ExitCode
End Function
 

Kruemelator

BeitragDo, Jul 18, 2013 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach nicht mit mehreren Writelines sondern benutz den Befehl nur einmal pro Anfrage. Neue Zeile geht mit:
BlitzBasic: [AUSKLAPPEN]
zeileumbruch$ = Chr(13)+Chr(10)

Sonst schickt der nur einen Teil los und nicht alles aufeinmal.

Edit: Sorry, das würde auch mit mehreren Writelines funktionieren. Aber mir ist jetzt erst aufgefallen das du WriteString anstatt WriteLine benutzt Very Happy
 

Bobo2040

BeitragDo, Jul 18, 2013 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay und was hab ich jetzt falsch gemacht... ?
Du sagtes es geht auch mit mehreren Wrtielines ... Very Happy
 

Kruemelator

BeitragDo, Jul 18, 2013 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutz mal anstelle von WriteString WriteLine.
 

Bobo2040

BeitragFr, Jul 19, 2013 0:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich schon Probiert Very Happy

Eingeproggt

BeitragFr, Jul 19, 2013 1:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich frag nur sicherheitshalber nach... läuft auf deinem Computer auch wirklich ein Webserver?

Außerdem gibts da ein paar Kleinigkeiten...

Code: [AUSKLAPPEN]
Global Username = Input$()

Da fehlt ein $ beim Username.

Die Mehrzahl von "data" ist "data".

Meiner Meinung nach ist die erste While-Schleife (wo geprüft wird ob 3sek vergangen sind) überflüssig. Du brauchst dem TCP keine Zeit "geben" um die Daten zu übertragen, TCP in BB "nimmt" sich die Zeit.

mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Bobo2040

BeitragFr, Jul 19, 2013 2:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay wusste ich nicht das die while schleife überflüssig ist... ja Apache läuft auf meinem PC Very Happy ich Programmiere auch in PHP Very Happy

Jolinah

BeitragFr, Jul 19, 2013 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
"GET"+ServerFile+"?username="+Username+"&password="+Password


Müsste nach dem GET nicht noch ein Leerschlag eingefügt werden? Und evtl. am Ende noch die Version: " HTTP/1.0"?

Code: [AUSKLAPPEN]
GET /path/to/file.php?query=string HTTP/1.0
Host: domain.de
User-Agent: BlitzMax
Connection: close
 

Bobo2040

BeitragFr, Jul 19, 2013 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay das Probier ich gleich mal aus Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group