[Contrôle winsock] en VB
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir,
Je suis en train d'apprendre l'utilisation du_ contrôle winsock en visual basic en faisant une petite application client/serveur très basique.
Lorsque que je met l' IP locale cela marche bien je peux envoyer et recevoir des données et la connexion s'effectue instantanément. En revanche quand je met l'adresse IP d'un ami (pour effectuer le test) ; IP qu'il m'a donné bien sur en temps réel, la connexion ne se fait pas... Quelqu'un à une idée avant que je poste mon code ?
Merci par avance.
Je suis en train d'apprendre l'utilisation du_ contrôle winsock en visual basic en faisant une petite application client/serveur très basique.
Lorsque que je met l' IP locale cela marche bien je peux envoyer et recevoir des données et la connexion s'effectue instantanément. En revanche quand je met l'adresse IP d'un ami (pour effectuer le test) ; IP qu'il m'a donné bien sur en temps réel, la connexion ne se fait pas... Quelqu'un à une idée avant que je poste mon code ?
Merci par avance.
A voir également:
- [Contrôle winsock] en VB
- Fan controle - Télécharger - Optimisation
- Controle parental disney plus - Guide
- Vb - Télécharger - Langages
- Contrôle parental snapchat family link - Guide
- Controle temperature pc - Guide
4 réponses
Bonjour,
Avant de poster ton code, il faudrait décrire d'avantage ton problème, afin que l'on puisse diagnostiquer.
"la connexion ne se fait pas" --> c'est à dire ?
Quel est l'erreur ?
Quel appel de quelle fonction ne fonctionne pas ?
Quel est le code retour obtenu lors de l'appel à cette fonction ?
Que dit la documentation Winsock à propos de ce code retour ?
Tu tombes dans un genre de timeout, ou alors l'erreur est instantanée ?
D'avance, merci pour ces précisions.
Cordialement,
Marc.
Avant de poster ton code, il faudrait décrire d'avantage ton problème, afin que l'on puisse diagnostiquer.
"la connexion ne se fait pas" --> c'est à dire ?
Quel est l'erreur ?
Quel appel de quelle fonction ne fonctionne pas ?
Quel est le code retour obtenu lors de l'appel à cette fonction ?
Que dit la documentation Winsock à propos de ce code retour ?
Tu tombes dans un genre de timeout, ou alors l'erreur est instantanée ?
D'avance, merci pour ces précisions.
Cordialement,
Marc.
Merci bien de me proposer ton soutient.
Et bien le problème est que je n'ai aucune erreur, aucun message. En local la connexion est instantanée et les échanges fonctionnent. Mais avec une autre Ip je n'ai pas le message qui me signe la connexion établie (message que j'ai programmé dans l'évènement "windock_connect").
Une idée ?
Et bien le problème est que je n'ai aucune erreur, aucun message. En local la connexion est instantanée et les échanges fonctionnent. Mais avec une autre Ip je n'ai pas le message qui me signe la connexion établie (message que j'ai programmé dans l'évènement "windock_connect").
Une idée ?
Je poste mon code malgré tout :
*** SERVEUR ***
*** CLIENT ***
Si cela peut aiguiller l'un d'entre vous...
*** SERVEUR ***
Option Explicit
'w est le nom du contôle winsock
Private Sub bouton_quitter_Click()
w.Close
w.LocalPort = 0
End
End Sub
Private Sub Form_Load()
w.Close
w.LocalPort = 0
w.LocalPort = 4567
w.RemotePort = 4568
w.Listen
End Sub
Private Sub Form_Terminate()
w.Close
w.LocalPort = 0
End Sub
Private Sub w_Close()
Call Form_Load
End Sub
Private Sub w_ConnectionRequest(ByVal requestID As Long)
w.Close
w.Accept requestID
End Sub
Private Sub w_DataArrival(ByVal bytesTotal As Long)
Dim données As String
w.GetData données
If données = "message" Then
MsgBox "test", vbExclamation, "Titre"
End If
End Sub
*** CLIENT ***
Option Explicit
Private Sub bouton_connexion_Click()
w.Close
w.RemotePort = 0
w.LocalPort = 0
w.Connect "XX.XX.XX.XX", 4567
Timer1.Enabled = True
End Sub
Private Sub bouton_déconnexion_Click()
w.Close
w.RemotePort = 0
End Sub
Private Sub bouton_message_Click()
w.SendData "message"
End Sub
Private Sub Timer1_Timer()
If w.State <> 7 Then
MsgBox "Trop long !!!"
Call bouton_déconnexion_Click
End If
Timer1.Enabled = False
End Sub
Private Sub w_Connect()
MsgBox "Connexion réussie", vbInformation
End Sub
Private Sub w_ConnectionRequest(ByVal requestID As Long)
w.Close
w.Accept requestID
End Sub
Private Sub w_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox Description
End Sub
Si cela peut aiguiller l'un d'entre vous...