Thread et HttpRequete
Stagiaire WDF
Inscrit:
21/04/2005 17:55
Post(s): 14
Bonjour,

J'utilise HttpRequete dans des threads (plusieurs centaines de requêtes sont exécutées).

Tout fonctionne bien jusqu'à ce qu'au bout d'un certain temps, l'accès Internet se bloque (*) pendant plusieurs secondes comme si l'appel de HttpRequete provoquait une saturation du réseau.

(*) L'accès Internet se bloque : Plus aucun accès via Internet Explorer ou Firefox.

Après plusieurs secondes, les traitements redémarrent jusqu'à un nouveau blocage, etc.

Quelquefois, les traitements ne redémarrent pas et les threads se bloquent.

Je rencontre ce problème depuis les précédentes versions de Windev.

Je ne suis pas le seul, nos utilisateurs rencontrent le même problème.

Avez-vous une idée du problème ?

Merci de vos réponses.

Bien cordialement,
Christophe

Contribution le : 02/10/2008 16:36
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
21/04/2005 17:55
Post(s): 14
Bonjour,

Je viens de "pousser" quelques tests supplémentaires pour m'apercevoir que le problème de blocage est probablement lié aux BOX Internet (Livebox dans mon cas) qui saturent à intervalle régulier lorsqu'elles sont assaillies de nombreuses requêtes.

Pour information, aucun problème de blocage sur une connexion 3G+, les traitements sont fluides.

Avez-vous déjà rencontré ce genre de problème ?

Merci de vos réponses.

Bien cordialement,
Christophe

Contribution le : 03/10/2008 11:02
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
ChefDeProjet WDF
Inscrit:
29/05/2007 17:03
De Sassenage
Post(s): 180
Peut être un paramètre de la BOX pour éviter justement que le réseau sature si un petit malin venait à faire une appli qui inonde votre réseau pour faire planter les DMZ ou autre proxy, un peu comme le blocage du ping sur les firewall.

Contribution le : 03/10/2008 15:15
_________________
be aware
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
23/05/2005 12:08
Post(s): 9
Je connais le problème.
HttpRequete est bloquant dans les threads (quelque soit la connexion utilisée )

J'ai créé une procedure avec SocketLit pour faire mes accés HTTP ( ne fonctione que pour du HTTP simple , pas de HTTPS ).
Si necéssaire je peux te joindre le code .

Contribution le : 04/10/2008 19:01
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
21/04/2005 17:55
Post(s): 14
Bonjour domi_nice,

Merci de ta réponse (merci également à Asthroth).

C'est bien ce que je pensais, HttpRequete est une fonction bloquante dans les threads.

Bien évidemment, si tu as une solution, je suis preneur.

Tu peux me faire parvenir ton code par MP.

Encore merci de ton aide.

Bien cordialement,
Christophe

Contribution le : 07/10/2008 19:04
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
23/05/2005 12:08
Post(s): 9
Voici le process :

Info(telechargement(NetIPAddress(" www.3GWIN.FR "),"index.html"))

3GWIN.FR est l'IP du site à contacter (c'est un exemple , c'est le site d'un excellent logiciel de caisse facturation gestion de téléphonie)

La procédure te renvoie le code HTML complet ...

PROCEDURE telechargement(ip,page)

codehtml,ajoute est chaîne
r est chaîne

SI SocketExiste("telechargement") ALORS SocketFerme("telechargement")

r="GET /"+page+CRLF+"HTTP/1.1"+CRLF
r=r+"User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)"

SI SocketConnecte("telechargement",80,ip) ALORS
SocketChangeModeTransmission("telechargement",SocketSansMarqueurFin)
SI SocketEcrit("telechargement",r) ALORS
ajoute =SocketLit("telechargement",Faux,5000)
TANTQUE ajoute<>""
ajoute =SocketLit("telechargement",Faux,5000)
codehtml=codehtml+ajoute
FIN
END
SINON
RENVOYER ""
END
SI SocketExiste("telechargement") ALORS SocketFerme("telechargement")

RENVOYER codehtml

Si tu as un souci , tu n'hésites pas !!!
( ce code est contient des précautions pour être utilisé dans les threads )

Contribution le : 07/10/2008 20:24
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
21/04/2005 17:55
Post(s): 14
Merci domi_nice. ;)

Quid du socket nommé "telechargement" si plusieurs threads sont exécutés simultanément ?

Y-a-t-il un risque de télescopage ?

Merci de tes précieuses informations.

Bien cordialement,
Christophe

Contribution le : 07/10/2008 20:31
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
23/05/2005 12:08
Post(s): 9
Oui tout à fait, il te suffit d'ajouter un compteur ( exemple : téléchargement1,téléchargement2 etc ... )

A l'usage d'origine , cette procédure est faite pour être utilisée une fois et abandonnée dés qu'on ressaye ( coupure internet , pas de réponse du serveur )

Tout depend le mode de fonctionnement souhaité.

Contribution le : 07/10/2008 21:56
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
21/04/2005 17:55
Post(s): 14
Bonjour domi_nice,

J'ai remplacé les appels à HttpRequete par SocketXXX mais le problème reste identique.

Je pense que je vais devoir limiter les envois de requêtes en simultané et de ce fait, allonger les temps de traitement.

Dommage d'avoir des machines performantes, une connexion ADSL ultra haut débit et devoir se limiter...

Encore merci de m'avoir aidé.

Bien cordialement,
Christophe

Contribution le : 08/10/2008 00:48
Créer un fichier PDF de la contribution Imprimer


Re: Thread et HttpRequete
Stagiaire WDF
Inscrit:
23/05/2005 12:08
Post(s): 9
Essaye de remplace le nom de domaine par l'ip du site dans ton accés Socket.
La conversion nom de domaine vers est bloquante.

Sinon j'ai également un process Socket qui marche par évenement ( meme plus besoin de threads )

Cordialement.

Contribution le : 10/10/2008 08:38
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2