Accueil > > > LE PLUS PETIT SERVEUR WEB AU MONDE
LE PLUS PETIT SERVEUR WEB AU MONDE
Information sur la source
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
- 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
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
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
pb de serveur [ par laure ]
bonjour,je travaille avec Microsoft Visual Interdev. J'ecris des pages en asp.Je ne comprends pas : j'ai un message d'erreur de ce style aund j'essaie
PB SQL Server + instance nommée [ par keskispas ]
KesKisPas Bonjour à tous. J'ai un gros problème sur SQL SERVER 2000 Je viens d'installer une instance nommée mais je n'arrive pas à m'y connecter d
VB & Exchange Server [ par Simeoni ]
Bonjour à tous,Je souhaite me connecté à un serveur Exchange avec VB et réccupérer des données et des e-mails stocké
Serveur en mode console [ par MorpionMx ]
Bonjour, j'ai une question qui a surement une solution tout bete, mais je ne la connais pas. En fait j'ai un serveur en mode console, qui est adapt&
Serveur en mode console [ par MorpionMx ]
Bonjour, j'ai une question qui a surement une solution tout bete, mais je ne la connais pas. En fait j'ai un serveur en mode console, qui est adapt&
Serveur en mode console [ par MorpionMx ]
Bonjour, j'ai une question qui a surement une solution tout bete, mais je ne la connais pas. En fait j'ai un serveur en mode console, qui est adapt&
serveur Http et get/post [ par smasher81 ]
Allo, je cherche depuis quelques temps seulement la façon de receillir un get ou un post d'une page sur mon serveur.. tout simple la.. Pourrais-tu m'a
Projet visual basic et publication web [ par mtcarmella ]
bonjour, est ce possible à partir d'une url d'acceder à mon projet visual basic. comment procéder? Je ne sais pas si c'est ainsi, mais
[ASP.net] Configuration IIS 5.1 [ par gregorian ]
Bonjour, voici mon problème je n'arrive plus à créer des web service. Je developpe sous VB.NET et j'était dans une vieille version
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
TéLéCHARGEMENTTéLéCHARGEMENT par bernardPare
Cliquez pour lire la suite par bernardPare
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|