tiguy21
Messages postés15Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention22 juillet 2007
-
19 nov. 2006 à 05:04
cs_mahrouch
Messages postés2Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention 3 juin 2008
-
3 juin 2008 à 23:43
Salut
J'essaie d'apprendre un peu comment fonctionne les winsock mais j'obtient un erreur lorsque je veux changer mon texte dans mon txtsenddata
voici mon code
Private Sub Form_Load()
On Error Resume Next
tcpServer.Close
tcpServer.LocalPort = "6661"
tcpServer.Listen
End Sub
Private Sub cmdConnect_Click()
On Error Resume Next
tcpServer.Close
tcpServer.Connect tcpServer.LocalIP, "6661"
End Sub
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
tcpServer.Close
tcpServer.Accept requestID
End Sub
Private Sub txtSendData_Change()
tcpServer.SendData "test"
End Sub
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub
Private Sub tcpServer_Connect()
MsgBox "Le Winsock est connecté"
End Sub
Je ne voit jamais le message "le winsock est connecté" donc jimagine quil y a un probleme au niveau de la connection, mais je ne sais pas ca serait quoi.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 19 nov. 2006 à 11:18
"... tcpServer.Connect tcpServer.LocalIP, "6661"..."
Tu essaye de nous faire quoi là?? du loopback ??? marche pas comme ça
Le controle Winsock ne peut etre que client ou que serveur, il ne peut etre les deux à la fois, il ne peut pas se connecter sur lui même.
Pour faire un loopback, il te faut un winsock comme serveur, c'est à dire en écoute sur un port comme tu as fait dans le form load.
Il te faut un second winsock avec lequel tu va ouvrir la connection. Ce second controle tu lui donnera comme adresse DISTANTE, l'adresse de ton PC (celle du premier winsock) ou l'adresse générique du loopback qui est 127.0.0.1. Comme port DISTANT tu va lui donner le port d'écoute du premier controle.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_mahrouch
Messages postés2Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention 3 juin 2008 3 juin 2008 à 23:43
Cette erreur, pour mon cas, été suite à une fermeture intempestive du winsock (je ne sais encore pas pourquoi il se ferme tout seul). j'ai resolu le problème en testant sur l'etat du winsock. si je trouve son etat egal à 0 (déconnecté) je reconnecte (avec envoi de l'utilisateur et mot de passe mail) et j'exécute les instructions que je voulais initialement effectuer... et ca marche comme sur des roulettesssssss.
if winsock1.state = 0 then
call connecter_winsock 'par exemple