Le plus petit serveur web au monde

Description

Je pense que je poste ici le plus petit serveur web jamais écris : prennez un nouveau projet VB rajoutez Microsoft Winsock control dans les composant, inserez ce composant sur la form et collez ce code source. voila vous avez un serveur web (rajoutez encore une page index.html dans le répertoire courrant) et voila ! c'est sans prétention, mais amusant ! je join aussi un zip pour les pas doué du copie/coller :-) si vous trouvez une astuce pour réduire encore le code je suis prenneur !

notez qu'il gere les erreures 404...

Source / Exemple :


Private Sub Form_Load()
    Winsock1.LocalPort = 80
    Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    Winsock1.Close
    Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim StrData As String, FNbr As Integer, Chr As String * 1, Str As String
    Winsock1.GetData StrData
    If Left(Mid(StrData, 6, InStr(6, StrData, " ") - 5), 25) = " " Then StrData = App.Path & "\index.html" Else StrData = Left(Mid(StrData, 6, InStr(6, StrData, " ") - 5), 25)
    If Dir(StrData) = "" Then
        Winsock1.SendData "<HTML><H1>404</h1></HTML>"
    Else
        FNbr = FreeFile
        Open StrData For Binary As FNbr
        Do While Not EOF(FNbr)
            Get #FNbr, , Chr
            Str = Str & Chr
        Loop
        Close FNbr
        Str = "HTTP/1.1 200 OK" & vbCrLf & vbCrLf & Str
        Winsock1.SendData Str
    End If
End Sub
Private Sub Winsock1_SendComplete()
    Winsock1.Close
    Winsock1.Listen
End Sub

Conclusion :


Si vous voullez plus de sources, de démo et de logiciel (dont un serveur web plus complet) allez sur http://www.rature.com

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.