côté serveur :
 
Private Sub tcpserver_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
 
Nbre_client_current = Nombre_client - serveur.ListClient.ListCount
   
If Nbre_client_current = 0 Then
     
    For i = 0 To serveur.ListClient.ListCount
        If serveur.ListClient.ListCount = 0 Then Exit For
        tabligneip = Split(serveur.ListClient.List(i), "  " )
 
        If i = serveur.ListClient.ListCount Then Exit For
        If tabligneip(0) = TCPserver(0).RemoteHostIP Then GoTo here
         
    Next
    Exit Sub
     
here:
 
End If
 
If TCPserver(0).State <> sckClosed Then 'Si la connection n'est pas fermée,
 
    If Index = 0 Then
        intMax = intMax + 1
        Load TCPserver(intMax)
        'TCPserver(intMax).Close 'on la ferme
        TCPserver(intMax).LocalPort = 0
        c = TCPserver(0).RemoteHostIP
        TCPserver(intMax).accept requestID 'On accepte la connection qui arrive
        TCPserver(intMax).SendData "Taille" & FileLen(chemin & "\contacts.txt" )
         c = TCPserver(0).RemoteHost
    End If
End If
 
End Sub
 
 
Coté Client :
 
Private Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
Dim Data As String 'Variable qui va stoker les données pour creer le fichier
 
On Error GoTo fin
TCPclient.GetData Data 'Recevoir les données
test_connexion = 0
'*****************************demande d'envoi du fichier contacts.txt***************************
If Left(Data, 6) = "Taille" And cmdenvoyer.Enabled = True And fermer = 0 And mise_en_service = 0 Then 'Si le client envoi la taille du fichier,
    cLenTotal = Int(Mid(Data, 7)) 'on l'enregistre
    TCPclient.SendData "Go$$" & Description 'On informe que l'on est prêt a recevoir le fichier
    Exit Sub
End If
'****************************envoyer un message*****************************************
If Left(Data, 6) = "Taille" And cmdenvoyer.Enabled = False Then
    envoi_message = "$P$" & CStr(NUM) & "$P$" & LevelSent & "$P$" & messagesent & "$P$" & Description
    TCPclient.SendData envoi_message
    Exit Sub
End If
 
'*****************************demande d'envoi du fichier contacts.txtn lorsque le Client est en marche avant le server***
If Left(Data, 6) = "Taille" Then  'Si le client envoi la taille du fichier,
    cLenTotal = Int(Mid(Data, 7)) 'on l'enregistre
    TCPclient.SendData "Go$$" & Description 'On informe que l'on est prêt a recevoir le fichier
    Exit Sub
End If
 
If Data = "ACK" Then
    Accusée = "ACK"
    Journal
    Exit Sub
End If
'*****************************Fermeture de Page plus Client *************
If fermer = 1 Then
    TCPclient.SendData "Exit$$" & Description
    Exit Sub
End If
 
'*************************réception du fichier contacts******************************
If Left(Data, 6) = "Taille" Then Exit Sub
 
Open chemin & "\contacts.txt" For Output As #1
Print #1, "";
Close #1
 
 
If FileOpen = False Then 'Si le fichier n'as pas encore été ouvert,
    Open chemin & "\contacts.txt" For Binary Access Write As #1  'on le fait
    FileOpen = True 'Le fichier est maintenant ouvert (Sert pour ne pas l'ouvrir une deuxième fois)
ElseIf FileOpen = True Then 'S'il est déjà ouvert
    DoEvents
End If
 
cAvance = cAvance + Len(Data) 'La progression du téléchargement
Put 1, , Data 'On continu de creer le fichier qui télécharge
fin_transfert = 0
 
Timerdogserver.Interval = 60000
Timerdogserver.Enabled = True
Label3.Visible = False
Tabl.Visible = True
Close #1 'On ferme le fichier
 
FileOpen = False 'Le fichier n'est plus ouvert (Pour une éventuelle prochaine connection)
fin:
TCPclient.Close 'On ferme la connection
 
End Sub