Winsock et erreur 10053

Résolu
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008 - 11 mai 2007 à 11:26
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 12 mai 2007 à 15:44
Bonjour,

Je développe une application client qui utilise Winsock pour dialoguer avec un serveur que je ne gère pas.

Aléatoirement, mon winsock provoque l'erreur "10053: la connexion est interrompue suite à un delai d'attente dépassé ou toute autre anomalie" lorsqu'il reçoit des données. Apperemment ce n'est même pas la méthode GetData mais l'évènement Data_Arrival en lui même.

Le soucis c'est que les données arrivent que quelques secondes après mon envoir donc je ne pense pas que se soit un problème de délai dépassé.... et je ne sais pas ce qui peut provoquer cette erreur....

Merci de votre aide.
[file:///D:/PharmaML/PharmaML%20-%201.1.17%20En%20cours/pharmaml.exe ]
A voir également:

10 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
11 mai 2007 à 15:21
Ta connections est peut être déjà fermer.
A tu un évènement
Close sur ton objet Winsock.
    Si oui ferme-tu ton Winsock lorsque cet événement
survient (avec "ObjWinsock.close")?
    Si non il faut le faire.






Amicalement



Pensez "Réponce acceptée"
3
gothikth Messages postés 80 Date d'inscription mardi 27 décembre 2005 Statut Membre Dernière intervention 11 mai 2007
11 mai 2007 à 14:11
regarde tes ports car ton client et ton serveur doivent travailler sur les meme ports ......!
0
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008
11 mai 2007 à 14:16
Mon client et mon serveur ont déjà échangé des données avant donc la connexion s'est bien faîtes, mais lorsque je renvoie des données une nouvelle fois, toujours sur la même connexion, je pense que mon envoi se passe bien mais tout de suite derrière j'ai mon erreur 10053.
Donc je ne pense pas que ça viennent des ports puisqu'ils dialoguent ensemble 5 secondes avant mon deuxième envoi....

Merci quand même.
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
11 mai 2007 à 15:08
Juste pour vérif je récapitule ton problème

1) Tu te connect à ton serveur (avec "ObjWinsock.Connect Serveur, Port")
2) Tu envoie des données une premierre fois (avec "ObjWinsock.SendData Données")
3) Tu recois des données (évenement "DataArrival", récup avec "ObjWinsock.GetData ObjReceptDonnées")
4) Tu envoie de nouveaux des donnée (toujours avec "ObjWinsock.SendData Données")
5) Tu recois des données et là erreur 10053
C'est ça?

Amicalement
Pensez "Réponce acceptée"
0

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

Posez votre question
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008
11 mai 2007 à 15:19
Voilà bien résumé...
Sauf que je ne sais pas exactement à quel moment entre le 4 et le 5 il se met en erreur....
Il passe bien sur le sendData, donc pour moi la chaine est partie, mais coté serveur apparemment ils ne recoivent rien....
Mais pour moi ma chaine est partie, mon programme se met donc en attente pour la réception, et là le socket se met en erreur, il rentre pas du tout dans l'évènement dataArrival mais je me retrouve dans l'évènement socketError.....
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
11 mai 2007 à 15:29
Ou alors (ce n'est pas très propre mais bon...)

Quand tu veux envoyer des données tu te connecte, puis fais ton envoie de
données

A la réception de données tu récupéré tes données puis tu ferme ta connections.


A l'envoie suivant de données tu te reconnecte et ainsi de suite.





Par contre pense à mettre un flag qui signal que tu es en attente d’une
réception de données pour ne pas faire un deuxieme envoie alors que tu n’as toujours
pas la réponse du premier.








Amicalement



Pensez "Réponce acceptée"
0
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008
11 mai 2007 à 15:31
Je vais déjà essayer avec l'évènement close...
Je te tiens au courant.

Merci.
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
11 mai 2007 à 15:52
Heee, je suis en WeekEnd à 16H00 donc si aucune de mes deux solutions ne marche fais vite ou il faudras attendre lundi.
A+
Amicalement
Pensez "Réponce acceptée"
0
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008
11 mai 2007 à 16:05
Ce coup ci tu as le droit à un GRAND merci!!!

Ca fonctionne.
Autre souci annexe, de temps en temps je suis obligé de faire deux envois.... je m'explique.
J'envoi une première fois ma chaine, et comme je n'ai aucune réponse, au bout d'un certain temps je renvoie la même chaine et ce coup ci j'ai une réponse du serveur....

Donc je ne vois pas pourquoi la première fois cela ne fonctionne pas puisque je suis connecté au serveur, en théorie... De plus entre la première et la deuxième fois je ne ferme pas ma connexion donc il n'en ouvre pas une deuxième....

Merci encore.
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
12 mai 2007 à 15:44
Je passe juste vite fais pour voir si tu à résolut ton problème. Ravie d'avoir pue t'aider .
Par contre pour ton autre problème je ne sais pas
A mon havie il faux voir ça coté serveur (si tu peut avoir accès au code source).
Bon courage pour la suite et peut être à +.
Amicalement
Pensez "Réponce acceptée"
0
Rejoignez-nous