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
Partager