Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1266 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Win32, winsock, timeout et GPRS sur WM5

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Win32, winsock, timeout et GPRS sur WM5

n°1384507
wapcamer
Posté le 09-06-2006 à 14:12:53  profilanswer
 

Hello,
je sais que c'est pas forcément le meilleur endroit, mais vu l'activité du forum PDA,je préfère poster ici.
 
J'ai une appli en win32 sur smartphone WM5 qui se connecte à un serveur web (via GPRS) pour récupérer des infos. Afin de minimiser la quantité de données échangées, le serveur attend un moment avant de répondre.
Mon problème est le suivant: lorsque l'on coupe la connection GPRS (en appuyant sur la touche rouge) alors que la socket (winsock) est ouverte, les fonctions connect(), send() ou recv() ne plantent pas. La socket reste en attente et je ne peux pas traiter l'erreur (relancer le gprs etc...).
 
J'ai essayé de mettre un timeout sur la socket pour forcer une remontée d'erreur:

Code :
  1. setsockopt(this->m_iSocket , SOL_SOCKET , SO_SNDTIMEO , (char*)&iTimeOut , sizeof(int) );
  2. setsockopt(this->m_iSocket , SOL_SOCKET , SO_RCVTIMEO , (char*)&iTimeOut , sizeof(int) );


 
Apparemment, d'après MSDN, SNDTIMEO et RCVTIMEO ne sont pas implémentés; ça compile évidemment pour rester compatible posix, mais c'est tout.
 
Ce qui est étonnant c'est que lorsque le smartphone est relié à activesync avec le cable usb, si je coupe le réseau de mon pc, j'ai bien des erreurs qui sont levées et que je peux traiter. Mais avec la connexion GPRS, même si je relance la connexion GPRS après la déconnection, la socket reste dans les choux et il faut la fermer manuellement et en rouvrir une autre.  
 
Je commence à penser à un bug d'implémentation entre la stack GPRS et la stack TCP mais c'est assez difficile de tracer ce genre d'erreur.
 
Voilà j'espère que ça parle à quelqu'un.
 
Merci d'avance.
 
 
 
 


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
mood
Publicité
Posté le 09-06-2006 à 14:12:53  profilanswer
 

n°1384597
wapcamer
Posté le 09-06-2006 à 15:12:36  profilanswer
 

Pour info, lorsque je tape sur une adresse bidon (que j'ai testée auparavant sur un navigateur), j'ai bien un retour erreur lorsque connecté par usb et activesync, mais rien avec le GPRS.
 
Je me demande également si les ggsn propagent bien les erreurs réseaux tcp ?


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Win32, winsock, timeout et GPRS sur WM5

 

Sujets relatifs
ajouter une fenetre à une application win32 console ?[WinSock] Unbalanced #endif
[win32] PropertySheet() et PSM_CHANGED ...Comment éviter d'avoir une de timeout pour un traitement long
API win32 + logiciel réseau[win32] couleur entourant un bouton
[VBS] Probleme avec SQL - timeoutProbleme Recv() [Winsock]
Win32 problème de liens... 
Plus de sujets relatifs à : Win32, winsock, timeout et GPRS sur WM5


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR