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