TCP Stream
Übersicht

![]() |
Wild-StormBetreff: TCP Stream |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Folgender Code: Code: [AUSKLAPPEN] TCPStream:TStream = OpenStream("TCP::"+TCPServer$+":80") For I = 1 To CNT SENDHEADER$ = "GET /" + Dir$ + " HTTP/1.1" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Accept: *.*, */*" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Connection: close" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Range: bytes=0-" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Host: www.yourass.org" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Referer: www.yourass.org" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "User-Agent: ROFL DI KARTOFFEL" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + Chr$(13) + Chr$(10) WriteLine TCPStream , SENDHEADER$ Repeat i2 = i2 + 1 ReadByte(TCPStream) Until Eof(TCPStream) Next CloseStream(TCPStream) Und folgendes Problem: TCPStream ist nach dem 1. Durchlauf NULL. D.h. BMax meckert rum, wenn ich beim 2. durchlauf senden will. Jetzt kann ich natürlich OpenStream in die Schleife reinhauen, aber ich glaube nicht, dass das sonderlich ressourcenspaarend ist etc. Gibt es eine Lösung? Oder ist der Code komplett fürn Arsch, weils andere Befehle für sowas gibt? XD Edit: Es liegt NICHT an Connection: Close! da: Zitat: HTTP/1.0 Under HTTP 1.0, there is no official specification for how keepalive operates. It was, in essence, tacked on to an existing protocol. If the browser supports keep-alive, it adds an additional header to the request: Connection: Keep-Alive Then, when the server receives this request and generates a response, it also adds a header to the response: Connection: Keep-Alive Following this, the connection is NOT dropped, but is instead kept open. When the client sends another request, it uses the same connection. This will continue until either the client or the server decides that the conversation is over, and one of them drops the connection. HTTP/1.1 Under HTTP 1.1, the official keepalive method is different. All connections are kept alive, unless stated otherwise with the following header: Connection: close The Connection: Keep-Alive header no longer has any meaning because of this. Additionally, an optional Keep-Alive: header is described, but is so underspecified as to be meaningless. Avoid it. |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Haste die Zeile mit 'Connection: close' mal auskommentiert ? | ||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
bringt leider nix | ||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mir Connection: Keep-Alive wohl auch nicht .
Dann mußte wohl immer nen neuen Stream aufmachen . Kann auch sein das der Web Server ungültige Anfragen ablehnt . Aber das müßtest du über die Antwort die er zurück schickt heraus bekommen . Manche Server stören sich auch an den User-Agent bzw. lassen nur die üblichen zu . |
||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
ne, die abfrage ist gültig. es kommt der quelltext der seite raus!
keep-alive bringt ebenfalls nix. alles schon probiert :/ (ich glaube es liegt am EOF, wenn man das weglässt, kann man den stream immernoch benutzen) |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Normale Webserver verlangen, dass man bei jeder anfrage einen neuen Stream zu ihnen auf macht.
Den alten wiederverwenden geht leider (noch) nicht. Es wird an einer solchen Technik gearbeitet(Pipelining), allerdings ist diese noch zimlich unpopulär und man sollte sich nicht drauf verlassen, das alle Webserver sie unterstützen. Deshalb vor jedem Request nen neuen Stream auf machn, ist die einzige Möglichkeit aktuell. |
||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
öhm...schonmal in BB ausprobiert?
[syntax="bb"] tcp = OpenTCPStream("www.next-dimension.org",80) For i = 1 To 10 SENDHEADER$ = "GET http://www.next-dimension.org/index.php HTTP/1.0" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Accept: *.*, */*" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Connection: Keep-Alive" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Range: bytes=0-" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Host: www.next-dimension.org" + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "Referer: www.next-dimension.org"+ Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + "User-Agent: " + Chr$(13)+Chr$(10) SENDHEADER$ = SENDHEADER$ + Chr$(13) + Chr$(10) WriteLine tcp,SENDHEADER$ Repeat DebugLog ReadLine(tcp) Until Eof(tcp) Next CloseTCPStream(tcp) [/syntax] Geht komischerweise OHNE neue TCP Stream erstellung.. |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nö. Geht nicht.
Schreibt die Seite nur einmal rein. Das liegt daran, dass HTTP 1.0 wie BtbN sagte nur für eine Anfrage ausgelegt ist. "Connection: keep-alive" kennt nur HTTP 1.1, aber so richtig geklappt hat es bei mir noch nicht. MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohja stimmt, hatte auf ein MAV bei Writeline gewartet und nich auf die debuglog ausgabe geachtet!
thx anyway! |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
rema |
![]() Antworten mit Zitat ![]() |
---|---|---|
Normalerweise kann man den Server ja abfragen was dieser so alles kann. KeepAlive ist halt so eine Sache, die bei stark frequentierenden Seiten einen Server eine hohe Speicherlast verursacht, da ja normalerweise nach 10 Sek Schweigen die Verbindung abgebrochen wird.
Also, erstmals abfragen was der Server so drauf hat... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group