HTTP-Server

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

regaa

Betreff: HTTP-Server

BeitragSo, Jun 12, 2005 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Der folgende Code demonstriert einen sehr einfachen HTTP-Server. Funktioniert leider nur mit dem FireFox und ist sicherlich noch sehr ausbaufähig. Soll aber im großen und ganzen (hoffentlich) zeigen wie man mit den neuen Netzwerksockets umgehen kann.

Code: [AUSKLAPPEN]

Strict

Local Server:TSocket=CreateTCPSocket()
Local Stream:TStream=CreateSocketStream(Server)

If BindSocket(Server,80)
   Print "Server läuft auf Port 80"
Else
   Print "Stream konnte nicht erstellt werden"
EndIf

SocketListen(Server)

Local join:TSocket
Local joinstream:TStream
Local datei:TStream

Local Inhalt:String="<HTML>"
Inhalt:+"<HEAD><TITLE>YourOwnHTTPD 0.1</TITLE></HEAD>"
Inhalt:+"<BODY>"
Inhalt:+"<font face=arial>"
Inhalt:+"Wenn sie diesen Text im Browser sehen, dann heisst es das der BlitzMax HTTP-Server funktioniert"
Inhalt:+"</font>"
Inhalt:+"</BODY>"
Inhalt:+"</HTML>"

Local Header:String="HTTP/1.0 200 OK"+Chr(13)+Chr(10)
Header:+"Content-Type: text/html"+Chr(13)+Chr(10)
Header:+"Content-Length: " + Len(Inhalt)+Chr(13)+Chr(10)
Header:+""+Chr(13)+Chr(10)

While Not KeyDown(KEY_ESCAPE)
   join=SocketAccept(Server)
   
   If join
      Print "Neuer Client ist beigetreten"
      BindSocket(join,1080)
      SocketListen(join)
      
      joinstream=CreateSocketStream(join)
      datei=OpenStream(joinstream)
      
      WriteString datei,Header
      WriteString datei,Inhalt+Chr(13)+Chr(10)
      

      
      Print "Drücken sie ESCAPE um server zu beenden"
   EndIf
   
   FlushMem()
Wend

CloseStream(datei)
CloseStream(joinstream)
CloseSocket(join)
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group