Bonjour,
Je débute en VB et ne comprends pas pourquoi la méthode DataArrival n'est jamais appelée. J'ai rajouté une ligne de code juste après l'envoi des informations pour lire le serveur et cela fonctionne mais normalement, c'est la méthode DataArrival qui devrait s'en charger sauf qu'elle n'est jamais appelée ! Merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
Option Compare Database
Option Explicit
Dim winsock As New MSWinsockLib.winsock
 
 
Private Sub boutonConnect_Click()
 
 
If winsock.State <> sckConnected Then
winsock.RemoteHost = "192.168.0.1"
winsock.RemotePort = 2111
winsock.Connect
Else
MsgBox "Vous êtes déjà connecté"
End If
End Sub
Private Sub winsock_DataArrival(ByVal bytesTotal As Long)
Dim strData
winsock.GetData strData, vbString
Me.Text2.Text = strData
End Sub
 
Private Sub Envoyer_Click()
Dim chaine_a_transmettre As String
 
 Dim strData
 
    chaine_a_transmettre = convertion_hexa_vers_string(Me.Texte1)
If Me.Texte1 <> "" Then
If winsock.State = sckConnected Then
winsock.SendData chaine_a_transmettre
'ici on récupère directement les valeurs car la méthode dataArrival n'est jamais appelée
winsock.GetData strData, vbString
Me.Text2 = strData
Else
MsgBox "Non connecté au serveur"
End If
Else
MsgBox "Veuillez tapez le nom!"
End If
End Sub
 
Function convertion_hexa_vers_string(ByVal chaine As String) As String
   Dim a As Long
   Dim reponse As String
 
   For a = 1 To Len(chaine) Step 3
      reponse = reponse + Chr$(Val("&h" + Mid$(chaine, a, 2)))
   Next
   convertion_hexa_vers_string = reponse
End Function