Readline Internet Code Problem

BlitzMax Forums/BlitzMax Programming/Readline Internet Code Problem

BlitzProg(Posted 2009) [#1]
I've been making a sample code for a blitzmax example, just by reusing my old functions from others programs that always are and worked fine.



SuperStrict



Function request:TStream(location$,host$)	
	Local http:TSocket = CreateTCPSocket ()
	Local www:TStream=CreateSocketStream(http)
	If ConnectSocket (http, HostIp (host), 80)
		WriteLine www, "GET "+location+" HTTP/1.1"
		WriteLine www, "Host: " + host
		WriteLine www, "User-Agent: BlitzMax"
		WriteLine www, "Accept: */*"
		WriteLine www, "Keep-Alive: 300"
		WriteLine www, "Connection: keep-alive"
		WriteLine www, ""
	Else
		Return Null
	EndIf
	
	Return www
End Function


Function stream_to_string:String(stream:TStream)
	
	Local result:String=""
	
	If stream
		While Not (Eof(stream))
			Local line:String = ReadLine(stream)
			DebugLog line
			result=result+line+Chr(10)+Chr(13)
		Wend
	Else
		Return "Error reading page!"
	EndIf
	
	Return result
End Function

Global blitzwin:TGadget  = CreateWindow ("Internet",10,10,640,480)
Global textfield:TGadget = CreateTextArea(4,4,400,400,blitzwin)

Global host:TGadget = CreateTextField(410,4,200,22,blitzwin)
Global location:TGadget = CreateTextField(410,40,200,22,blitzwin)

Global valider:TGadget = CreateButton ("obtenir",410,80,100,22,blitzwin)

SetGadgetText( host,"www.google.fr" )
SetGadgetText( location,"/index.html" )



While WaitEvent()
	
	
	Select EventID()
	
		Case EVENT_GADGETACTION
			Select EventSource()

				Case valider
					Local i:TStream = request(TextFieldText(location),TextFieldText(host))
					Local s:String = stream_to_string(i)
					
					SetGadgetText( textfield , s )
					
			End Select
		
		Case EVENT_WINDOWCLOSE
			End
			
	End Select

Wend



End


The execution freezes at Readline, Itself occuring at the end of the file (and as such after successfully reading the internet page), I've been trying to find what is wrong for hours but my head is about to explode now! :O

Anyone can help me please?