Serveur qui ne répond pas (socket)

coolcubix Messages postés 28 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 19 mai 2006 - 4 sept. 2004 à 10:43
coolcubix Messages postés 28 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 19 mai 2006 - 4 sept. 2004 à 12:29
Bonjour à tous !
Je crée un client MSN Instant Messaging (sur le principe de MSN Messenger).
Suivant le protocole établi par MS, je me connecte à messenger.hotmail.com sur le port 1863. Une fois connecté (socket.state 7), j'envoie les données correspondantes, j'attends pour recevoir les données mais l'évenement Socket_DataArrival ne se déclenche jamais ! puis au bout d'une vingtaine de secondes, le socket fait une erreur (socket.state 9).
************************************************
Partie du code correpsondant ici :

Private Sub Command1_Click()
Socket.Connect messenger.hotmail.com, 1863
Do While Socket.State <> 7
DoEvents
Loop
Debug.Print "connecté"
End Sub

Private Sub Command3_Click()

Socket.SendData "VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVR0"
Dim Donnees As String
'Do
'Socket.GetData Donnees
'DoEvents
'Loop While Donnees = ""

'MsgBox Donnees

End Sub

Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
Dim Donnees
Socket.GetData Donnees
MsgBox Donnees
End Sub
**********************************************

Est-ce que quelqu'un pourrait m'aider SVP ? Merci d'avance

2 réponses

cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
4 sept. 2004 à 11:48
Je ne sais pas si ça va t'aider, mais tu peux écrire ça mieux :

Private Sub Command1_Click()
Socket.Connect messenger.hotmail.com, 1863
End Sub

Private Sub Socket_Connected()
Debug.Print "connecté"
Socket.SendData "VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVR0"
End Sub

Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
Dim Donnees as string
Socket.GetData Donnees
MsgBox Donnees
End Sub

Si ça fonctionne toujours pas regardes, le pb doit se situer au niveau du protocole :
VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
Tu as peut-être oublié un retour à la ligne style :
Socket.SendData "VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVR0" & vbcrlf

Pour mieux débugger, je te conséille de gérrer aussi l'evenement Close et Error.

N'oublies pas dans l'évenement close... tu dois obligatoirement accepter la fermeture en mettant Socket.Close avant la fin de l'évenement Close() sinon il boucle.

Bonne prog et bonne chance, akh
0
coolcubix Messages postés 28 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 19 mai 2006
4 sept. 2004 à 12:29
Merci beaucoup, je voulais juste revenir sur le forum pour annoncer que j'avais résolu le pb... En effet il manquait le vbcrlf ! Bien vu, merci à toi !

@+++
0
Rejoignez-nous