Winsock

jfougeron Messages postés 19 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 25 avril 2013 - 29 oct. 2011 à 11:41
NHenry Messages postés 15111 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 avril 2024 - 3 nov. 2011 à 13:47
Bonjour tout le monde.
J'ai développé une appli sur mon poste (Vista) en VB6 utilisant Winsock l'ocx pour échanger avec un appareil électronique que nous construisons, en TCP et en UDP.
Cette appli tourne sans problème sur plusieurs postes de l'entreprise, mais depuis quelques temps le winsock ne veux plus fonctionner sur ma machine !
Quelqu'un a-t-il une idée ? cela m'aiderait bien. Merci d'avance.

10 réponses

NHenry Messages postés 15111 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 avril 2024 159
29 oct. 2011 à 13:29
Bonjour,

Un message d'erreur ?
Une réaction incorrecte ?
As-tu plus de détail, car il est impossible de te répondre avec le peu d'information diffusée.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 oct. 2011 à 15:04
Salut

Complémentairement, puisque tu es le créateur du programme, comment as-tu géré les erreurs/échecs de connexion ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 oct. 2011 à 15:09
Avant de mettre en cause le Winsock, il faut s'assurer que le réseau fonctionne.
Un Ping de la machine distante fonctionne t-il ?
Sur la machine distante, le port est-il disponible ? que donne une commande console NetStat -a (ou -n) ?
Réseau local uniquement ou par internet ?
Pare-feu correctement paramétré (celui de Windows mais aussi éventuel logiciel de protection) ?
Quel Windows (des deux côtés) ?
0
jfougeron Messages postés 19 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 25 avril 2013
29 oct. 2011 à 19:25
Oui le réseau fonctionne, car, en même temps que je le fais tourner sur ma machine, que ce soit en compilé ou en mode débug, je le fais tourner sur les autres et là ça marche

Mon progr se connecte (je connais l'IP):

If Ecoute.State <> 0 Then Ecoute.Close
Ecoute.Connect pStr, 80

ensuite quand il se connecte j'envoie une commande au serveur :

Private Sub Ecoute_Connect()
On Error Resume Next
'Connexion établie
'On envoie des données au serveur, ici c'est une requête HTTP

Ecoute.SendData "GET /Status.cgi HTTP/1.1" & vbCrLf & "Accept: */*" & vbCrLf & "User-Agent: Winsock" & vbCrLf & vbCrLf

End Sub

Ensuite je récupère la réponse du serveur

Private Sub Ecoute_DataArrival(ByVal bytesTotal As Long)
Dim data As String

'Arrivée de données

If Ecoute.State <> sckConnected Then
Exit Sub 'Juste au cas où ça a buggé
End If
Ecoute.GetData data, vbString 'On récupère les données 'DONNÉES DANS DATA
End Sub

Ensuite je traite les données reçues, évidemment

Eh ben sur mon poste les données du serveur n'arrivent jamais !

Toutes les machines sont sur le même réseau wifi à 2m de distance et du serveur

C'est vraiment énervant, car c'est sur le PC que l'appli a été développée, et ça marchait très bien. En plus c'est juste quand le client demande une modif que ça marche plus.
j'ai pensé que mon ocx était vérolé, mais touts mes autres connections IP fonctionnent (windows mail, firefox, ftp) mais je sais pas si elles utilisent l'ocx.

merci du coup de main
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jfougeron Messages postés 19 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 25 avril 2013
29 oct. 2011 à 19:27
Ah, j'ai oublié de dire que le serveur est un micro-contrôleur PIC32 de microchip.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 oct. 2011 à 21:00
L'évènement Connect se déclenche t-il ?

L'évènement DataArrival se déclenche t-il après la connexion ?
Quelle la taille des données reçues ?
As-tu analysé le contenu de Data après une réception ? Que contient-elle ?
Ta gestion de la réception de données est assez simpliste.
Le déclenchement de DataArrival ne signifie pas que toutes les données sont arrivées, mais qu'il y a des données dans le buffer.
Donc, avant de vouloir traiter les données, il faut s'assurer qu'elles sont arrivées en intégralité.

Si les données arrivent en plusieurs fois, il faut donc stocker les données puis lancer l'analyse une fois que tu es sûr qu'elles sont complètes, donc il faut détecter la fin de transmission : Les données que tu reçois ont elles une fin particulière ? par exemple, un double vbCrLf ?
0
jfougeron Messages postés 19 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 25 avril 2013
30 oct. 2011 à 19:05
OUi, mais ça je sais, j'ai pas mis le code de traitement des données, le problème c'est que sur MON POSTE ça marche plus (ça marchait) et ça marche SUR LES AUTRES POSTES !
L'évènement DataArrival ne se déclenche pas
Voila
0
NHenry Messages postés 15111 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 avril 2024 159
31 oct. 2011 à 19:46
Bonjour,

As-tu réussi à installer VB6 ?
Aurais-tu un contrôle WinSock qui serait différent des autres machines.
Es-ce toutes les machines Vista (et +) ou juste la tienne ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
jfougeron Messages postés 19 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 25 avril 2013
1 nov. 2011 à 09:24
Bonjour Nicolas
Evidemment j'ai VB6 puisque j'ai programmé l'appli sous VB6
J'ai installé l'appli sur les autres postes avace l'assistant déploiement de Visual Studio
Donc l'appli marchait sur mon poste (programmeur) et ne marche plus
Mais elle marche sur 2 postes XP, un poste Vista et Un poste Seven !!! Bizarre !
je n'ai pas changé de pare feu sur mon poste. Mon MSWINSCK.ocx est la version 6.1.97.82 de 121K du 8/03/2003
Merci
0
NHenry Messages postés 15111 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 avril 2024 159
3 nov. 2011 à 13:47
Bonjour,

Je ne comprends donc pas pourquoi ça pose pb.
L'informatique a ses mystères ...

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Rejoignez-nous