Application client/serveur en 37 lignes (testé sous windows xp pro)

Contenu du snippet

C'est une application toute simple qui permet à 2 ordinateurs en réseau de chatter. N'y voyez rien d'exceptionnel dans cette appli, j'ai juste épuré un code récupéré à l'adresse suivante http://msdn.microsoft.com/library/en-us/vbcon98/html/vbconusingwinsockcontrol.asp

Source / Exemple :


Tout d'abord, il faut créer 2 projets dans 2 répertoires différents (les nommer Serveur et Client)

Pour le projet Serveur :
Créer un formulaire et le nommer frmServeur
Sur ce formulaire, déposer un contrôler Winsock1 (composant Microsoft Winsock Control 6.0 (SP4)) (MSWINSCK.OCX)
Créer 2 TextBox et les nommer respectivement txtEnvoyé et txtReçu
Ensuite copier/coller le code relatif au formulaire que voici :

Private Sub Form_Load()
    Winsock1.LocalPort = 1001
    Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If Winsock1.State <> sckClosed Then _
    Winsock1.Close
    Winsock1.Accept requestID
End Sub

Private Sub txtSendData_Change()
    Winsock1.SendData txtEnvoyé.Text
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    Winsock1.GetData strData
    txtReçu.Text = strData
End Sub

Pour le projet Client :
Créer un formulaire et le nommer frmClient
Sur ce formulaire, déposer un contrôler Winsock1 (composant Microsoft Winsock Control 6.0 (SP4)) (MSWINSCK.OCX)
Créer 2 TextBox et les nommer les respectivement txtEnvoyé et txtReçu
Ensuite copier/coller le code relatif au formulaire que voici :

Private Sub Form_Load()
    tcpClient.RemoteHost = "nom de l'ordinateur serveur"
    tcpClient.RemotePort = 1001
    tcpClient.Connect

End Sub

Private Sub txtSend_Change()
    tcpClient.SendData txtEnvoyé.Text
End Sub

Private Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
    Dim strData As String
    tcpClient.GetData strData
    txtReçu.Text = strData
End Sub

Conclusion :


Note : pour récupérer le "nom de l'ordinateur serveur", aller dans Démarrer/Paramètres/Panneau de configuration/Système/Nom de l'ordinateur
Le nom à récuperer est le nom complet de l'ordinateur.

Compiler ensuite les 2 projets
Copier l'exécutable Serveur sur l'ordinateur qui fera office de Serveur
Copier l'exécutable Client sur l'ordinateur qui fera office de Client
Lancer l'exécutable Serveur de l'ordinateur serveur et ensuite l'exécutable Client de l'ordinateur client (et toujours dans cet ordre)
Et voilà !
Il reste un petit bug à corriger lorsque l'on ferme l'appli mais à part ça, ça fonctionne à merveille et en direct s'il vous plait (je suis un nostalgique du talk sous unix)

Si vous avez le moindre soucis, n'hésitez pas à me contacter sur nicolasheurtevin@wanadoo.fr

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.