Da das obige Beispiel nicht wirklich anfängertauglich ist (da jede Menge Fallen), hier mal ein praktikableres Beispiel mit einem Fenster (ich weiss, Fenster ist nicht gefordert, dient nur der besseren Darstellung):
Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Fehler", "Netzwerk konnte nicht initialisiert werden!", 0)
End
EndIf
Define.s URL, Path, Send, Receive
Define.l Port, CID, Wait, TimeOUT.l
URL = "www.purebasic.fr"
Path = "/german/viewforum.php?f=16"
Port = 80
CID = OpenNetworkConnection(URL, 80)
If CID = 0
MessageRequester("Error", "Can't reach " + URL)
End
EndIf
Send = "GET /"+ Path + "/ HTTP/1.1" + #CRLF$
Send + "Host: "+ URL + #CRLF$
Send + "Connection: close" + #CRLF$
Send + "Accept: text/plain" + #CRLF$
Send + "Accept-Charset: ISO-8859-1, *;q=0.7" + #CRLF$
Send + "User-Agent: Simple Test" + #CRLF$
Send + "Referrer: www.womba.net" + #CRLF$ + #CRLF$
SendNetworkString(CID, Send)
*Buffer = AllocateMemory(1024)
If OpenWindow(0, 400, 52, 513, 326, "Test", #PB_Window_SystemMenu | #PB_Window_TitleBar) = 0 Or CreateGadgetList(WindowID(0)) = 0
End
EndIf
EditorGadget(0, 5, 5, 495, 310, #PB_Editor_ReadOnly)
TimeOUT = ElapsedMilliseconds() + 2000
Wait = 100
Repeat
Select WaitWindowEvent(Wait)
Case 0
If CID
Select NetworkClientEvent(CID)
Case #PB_NetworkEvent_Data
Wait = 0
L = ReceiveNetworkData(CID, *Buffer, 1024)
If L
Receive + PeekS(*Buffer, L)
TimeOUT = ElapsedMilliseconds() + 50
EndIf
Default
Wait = 5
EndSelect
EndIf
If CID And TimeOUT < ElapsedMilliseconds()
If Right(Receive, 5) = "0" + #CRLF$ + #CRLF$
SetGadgetText(0, Receive)
CloseNetworkConnection(CID)
CID = 0
Wait = -1
EndIf
EndIf
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver