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
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.