Programmation d'une application en mode client-serveur avec VB

Introduction

La programmation des sockets ne nécessite que l'objet Winsock. Le principe consiste à ouvrir une socket dans l'application serveur, qui va attendre une connexion et de s'y connecter avec une appli cliente. Lorsqu'une demande de connexion arrive, on l'accepte par la méthode .Accept. A partir de là, on envoie des données avec la méthode .Send, et on lit les données entrantes avec la méthode Data_Arrival().

(Serveur) Ouverture d'une socket

'avant d'ouvrir une socket, vérifier qu'on n'utilise pas un port standard, déjà réservé. Liste dispo dans C:\WINNT\system32\drivers\etc\services
Socket.LocalPort = 1007
 
'TCP est le protocole par défaut
Socket.Protocol = sckTCPProtocol
 
Socket.Listen 

(Client) Connexion à une socket

Socket.RemoteHost = "192.168.0.1"
Socket.RemotePort = 1007
Socket.Protocol = sckTCPProtocol
Socket.Connect

(Serveur) Acceptation demande de connexion

Private Sub Socket_ConnectionRequest(ByVal requestID As Long)
    Socket.Accept requestID
End Sub

(Client) Envoi de données au serveur

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    Socket.SendData Chr$(KeyCode)
End Sub

(Serveur) Lecture données provenant du client

Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
    Dim sTemp As String
    Socket.GetData sTemp
End Sub

(Client) Fermeture connexion

Socket.Close

(Serveur) Fermeture socket

Socket.Close