Schmiert TCP Verbindung ab?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Chrise

Betreff: Schmiert TCP Verbindung ab?

BeitragSo, Apr 11, 2010 23:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute!

Ich habe zurzeit ein großes Problem bei den TCP-Verbindungen.
Und zwar öffne ich ganz normal eine Seite mit OpenTCPStream.

Wenn ich jetzt einmal z.b. das sende:
Writeline tcp,"GET / HTTP/1.1"
Writeline tcp,"Host beliebige Seite hier einfügen Wink"
Writeline tcp,Chr$(10)

und alle Daten aus dem STream lese, bis das Ende erreicht ist und das gleich anschließend mit selbem TCP-Stream wiederhole, also wieder:
Writeline tcp,"GET / HTTP/1.1"
Writeline tcp,"Host beliebige Seite hier einfügen Wink"
Writeline tcp,Chr$(10)

dann erhalte ich keine Antwort mehr.
Wie kann ich das umgehen? Oder warum funktioniert das nicht?
Ich bin am verzweifeln.


Danke an Alle!
lg Chrise
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.
  • Zuletzt bearbeitet von Chrise am Mo, Apr 12, 2010 13:54, insgesamt einmal bearbeitet

Eingeproggt

BeitragSo, Apr 11, 2010 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm... dein Header ist seeeehr minimal.
Schau dich mal um was es noch so für Attribute mitzusenden gibt, zB auf Wikipedia - was in der wiki leider nicht so genau beschrieben ist, wäre die Zeile "Connection: keep-Alive" die dir event. hilft. (Wobei ich jetzt selber kurz gesucht habe und soeben selber lese dass Keep-Alive ohnehin Standard ist... ähm... puh. Na zu selber schmökern: Hier)

*mal nachschau ob ich was dazu in meinen Codes hab*

Edit: Leider... als ich das letzte mal sowas wie n Webcrawler gemacht habe, hab ich jedesmal erneut OpenTCPStream und CloseTCPStream gemacht... Kann daher doch nicht weiter helfen...
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Xaymar

ehemals "Cgamer"

BeitragSo, Apr 11, 2010 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBAsic fordert eine Pause zwischen einzelnen Read/Send abläufen(minimal 100ms, soweit hab ichs drücken können). Eventuell kann auch ein Flip 0 das beheben. (Blitz benutzt wohl nur einen Read/Write Buffer)

Pseudo-Code:
Code: [AUSKLAPPEN]
Verbinden...
Verbindung OK:
  Lesen...
  Flip 0:Delay 100 ;(jic)
  Schreiben
  Flip 0:Delay 100 ;(jic)


Eventuell schreibt ja mal wer den Support an warum das so gemacht wurde./UDP hat den Nachteil nicht, da ist das BB-Programm ja selber am handlen der Daten Smile )
Warbseite

Chrise

BeitragMo, Apr 12, 2010 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Nope, auch schon alles durchprobiert. Ich habe sogar schon in intervallen von 5 sekunden plus mainloop, also einige flips probiert...
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Noobody

BeitragMo, Apr 12, 2010 0:13
Antworten mit Zitat
Benutzer-Profile anzeigen
HTTP 1.0 ist nicht darauf ausgelegt, dass Streams aufrechterhalten werden; daher wird die Verbindung nach erfolgreicher Uebertragung wieder geschlossen. Um diesen Missstand zu beheben, wurde das Schlüsselwort Connection: Keep-Alive festgelegt, welches es erlaubt, Verbindungen aufrechtzuerhalten, bis entweder Client oder Server das Schlüsselwort nicht mehr zum Header hinzufügen, was ein Ende der Verbindung bedeutet. Mit HTTP 1.1 werden Verbindungen standardmässig offengehalten, solange Client oder Server kein Connection: close im Header mitschicken.

Du kannst nun also entweder ein Connection: Keep-Alive mitschicken und bei jeder Anfrage darauf prüfen, ob der Server das Schlüsselwort auch zurückschickt, oder aber HTTP 1.1 verwenden.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Chrise

BeitragMo, Apr 12, 2010 13:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich nehm ich ja schon 1.1 her oO
Deswegen wundert das ganze mich ja so Sad

Ich weiß ja nicht 100% ob die Verbindung unterbrochen wurde, aber zumindest bekomme ich keine Antwort mehr, nachdem ich schon einmal eine Antwort vom Server erhalten habe.... Crying or Very sad

Danke für die bisherige Hilfe Smile

lg Chrise
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Chrise

BeitragDi, Apr 13, 2010 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry, das ich das Thema jetzt indirekt pushe, aber ich glaube es lohnt sich nicht ein extra thema dafür aufzumachen.

Ich wollte fragen, ob jemand von den HTTP-kennern oder Begabten insofern lust hat mir einen Beispiel-code zu schreiben, in dem das Programm 2-mal die informationen der selben Seite bekommt.

Ich kriege das irgendwie nicht gebacken Crying or Very sad
Natürlich würde derjenige auch groß in meinem Projekt "LamaNet" ernannt werden.


Ich wäre demjenigen echt dankbar,
lg Chrise
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group