Dans ce tutorial, je vous propose de coder serveur de en Visual Basic. Avant tout, pour programmer dans ce langage vous devez posséder Visual Studio et malheureusement, il est payant. Sans ce logiciel, vous ne pouvez rien faire.
![]() |
| Figure 1 Form |
Pour commencer, ouvrez Visual Studio, dans la fenêtre « New Project », choisissez « Standard EXE » et cliquez sur le bouton « Ouvrir ». Vous êtes maintenant devant une page blanche avec une "Form" (c.f. Figure 1).
Maintenant, il faut insérer les différents composants sur notre "Form". Vous trouverez ci-dessous une liste avec tous les éléments qu'il faut insérer et une image pour savoir où les placer.
Liste des composants à insérer :
- Une TextBox pour entrer le port qu'utilisera notre serveur
- Un CommandButton pour valider le port qu'on a entré dans la TextBox
- Une TextBox pour afficher tous les messages du chat
- Une TextBox pour pouvoir entrer le message qu'on veut envoyer
- Un CommandButton pour envoyer le message
- Un CommandButton pour effacer la TextBox qui contient le message (facultatif)
- Un Socket, c'est indispensable pour le chat (Pour l'obtenir : CTRL + T, et cochez Microsoft Winsock Control 6.0)
![]() |
| Figure 2 Où placer les éléments ? |
![]() |
| Figure 3 Properties |
Pour vous simplifier la tâche, j'ai fait un tableau récapitulatif de ce que vous devez mettre dans les « Properties ».
| N° | Name | Text | Caption | MultiLine |
| 1 | Port | 8889 | - | False |
| 2 | (Vide) | - | True | |
| 3 | Message | (Vide) | - | True |
| 4 | OK | - | ||
| 5 | Send | - | Envoyer | - |
| 6 | Clear | - | Effacer | - |
| 7 | Socket | - | - | - |
Voilà, nous avons fini la « mise en page de notre programme ». Nous allons maintenant passer à la partie la plus intéressante, la programmation.
Double cliquez sur le bouton OK, vous devriez obtenir ceci :
Private Sub Port_OK_Click()
Cela veut dire que tout ce qui est entre ces deux lignes sera exécuté lorsque l'on cliquera sur le bouton OK. Nous voulons que lorsque l'on cliquera sur ce bouton, le port du socket soit égal à la valeur entrée dans la TextBox « Port ». C'est tout simple, il nous suffit de faire :
End Sub
Private Sub Port_OK_Click()
Voilà, dès qu'on cliquera sur le bouton OK, le port du socket sera égal à la propriété Text de la TextBox « Port ». La ligne « Socket.Listen » dit au socket d'écouter toute connexion sur le port.
Socket.LocalPort = Port.Text
Socket.Listen
End Sub
Maintenant la programmation du socket :
Dans le menu déroulant, choisissez « Socket » et « ConnectionRequest » comme ci-dessous :

Vous obtenez ces deux lignes :
Private Sub Socket_ConnectionRequest(ByVal requestID As Long)
Les instructions qui seront présentent entre ces deux lignes seront exécutées lorsque quelqu'un (le client) tentera de se connecter sur le port du serveur.
End Sub
Private Sub Socket_ConnectionRequest(ByVal requestID As Long)
Avant d'accepter le client « Socket.Accept requestID », il faut fermer la socket « Socket.Close ». Pour informer le client qu'il est connecté au serveur, on lui envoie un message « Socket.SendData "Vous êtes connecté au serveur" ».
Socket.Close
Socket.Accept requestID
Socket.SendData "Vous êtes connecté au serveur"
End Sub
Maintenant, pour pouvoir dialoguer avec le client, il nous faut programmer le bouton « Envoyer ». Double cliquez dessus, vous obtenez :
Private Sub Send_Click()
Pour envoyer un message au client, il faut le code suivant :
End Sub
Private Sub Send_Click()
Socket.SendData "Serveur> " & Message.Text, envoie le mot « Serveur> » suivit du message que vous avez entré dans le TextBox « Message ». Ensuite il ajoute le message dans la TextBox « Chat » grâce à « Chat.Text = Chat.Text & vbCrLf & "Serveur> " & Message.Text » et finalement efface la TextBox « Message » avec « Message.Text = "" ».
Socket.SendData "Serveur> " & Message.Text
Chat.Text = Chat.Text & vbCrLf & "Serveur> " & Message.Text
Message.Text = ""
End Sub
Nous pouvons envoyer des messages au client mais nous devons aussi recevoir les siens, c'est ce que nous allons programmer maintenant.
Dans le menu déroulant, choisissez « Socket » et « DataArrival » :

Vous obtenez :
Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
Les instructions suivantes seront exécutées quand on recevra un message du client.
End Sub
Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
On crée une variable « Data » qui contiendra les messages envoyés par le client avec l'instruction « Dim Data As String ». Ensuite grâce à la socket « Socket.GetData Data », on récupère le message envoyé et on le stocke dans la variable Data. Il ne nous reste plus qu'à afficher tout ça : « Chat.Text = Chat.Text & vbCrLf & Data », fait un enter « vbCrLf » et rajoute le message.
Dim Data As String
Socket.GetData Data
Chat.Text = Chat.Text & vbCrLf & Data
End Sub
Nous avons presque fini de coder le serveur, il reste plus que le bouton « Effacer » et c'est le plus simple.
Double cliquez dessus :
Private Sub Clear_Click()
Pour effacer la TextBox « Message », il suffit de cette instruction « Message.Text = ""», je pense que vous n'aurez aucune difficulté à la comprendre.
End Sub
Private Sub Clear_Click()
Voilà, c'est fini. Vous avez créé le serveur du chat, il ne nous reste plus que le client, je ferais un article bientôt. En attendant vous pouvez telecharger les sources de mon chat. Il y a le client et le serveur. J'ai rajouté quelques options...
Message.Text = ""
End Sub
Vous pouvez aussi retrouver cet article sur Informatips.