Pb communication temps réel avec serveur HF
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bonjour,

J'ai une petite appli sur PPC qui accède en temps réel à des données.

J'ai des problèmes de connexion qui surviennent de manière aléatoire. et j'obtient ça :

-Code erreur : 74000

-Code erreur WD55 : 4000

-Code d'erreur système : 10054

"La communication avec le serveur IP_DU_SERVEUR:PORT à échoué"


Alors je conçoi tout à fait qu'il y ait des micro coupures en GPRS ou en Wifi, mais j'aimerai bien que le soft puisse faire un retry sans planter, afin de continuer l'execution là ou il en était...

Comment vous faites, vous...

Contribution le : 27/12/2005 11:19
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

vous pouvez utiliser la commande PING() qui est relativement long sinon vous pouvez utiliser les sockets pour tester votre connexion.

Contribution le : 27/12/2005 13:08
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
C'est à dire ?

Il faudrai par exemple que je passe un ping sur mon serveur toutes les n secondes en tâche de fond, dans un thread par exemple....? Ou bien simplement faire un ping avant chaque execution de requête distante ?

C'est comme ça que vous procédez ? ça ralenti pas un peu beaucoup l'appli ?

N'y as t'il pas un moyen moins "bidouille" de tester et récupèrer la connexion au serveur

Contribution le : 27/12/2005 14:41
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bon, alors avant chaque requête executée sur la base distante, je lance une procédure qui fait un socketconnecte sur le serveur. Ca me renvoi bien vrai ou faux selon que le serveur est dispo ou pas. Mais au bout du compte je ne suis pas plus avancé...

Sinon ping n'est pas dispo sur PPC. Je suis à l'écoute de toutes les idées.

Merci,

Seb

Contribution le : 27/12/2005 15:44
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
le socketconnect est beaucoup plus rapide que le ping.

En fonction du résultat si vrai tu passes ta requ^te si faux, tu deconnectes, et tu fais une tentative de nouvelle connexion...

Enfin je dis peut être une grosse annerie car je n'utilise pas HF C/S.

Toutefois je pense que le principe est très proche de ce qu'on trouve sur les autres SGBDR, dans le cas d'un wifi, il est clair que les coupures entre le client et le serveur sont courantes, et si le client ne prévoit pas une reconnexion automatique avec le contexte initial de ta connexion, il n'y a pas d'autre solution qu'une connexion/déconnexion à chaque fois que le serveur n'est pas vu.

Je pense qu'il faut que les personnes qui utilisent HF C/S fassent une demande d'amélioration au support technique de pcsoft, car sinon la base est difficilement exploitable sans bloquer l'application cliente.

Contribution le : 27/12/2005 22:26
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF

Inscrit:
19/11/2002 12:20
Post(s): 390
Bah un ping n'est jamais qu'une connexion sur un serveur http sur le port 80 ;)
Et il mesure ensuite le temps qu'à mis le serveur pour répondre.

Sinon, tu as essayé avec la gestion des erreurs (Exception) pour voir si au moins tu arrives à trapper l'erreur?
Egalement, avant d'utiliser les fonctions d'accès à la base distante, tu checkes si la connexion est toujours valide? (je ne sais pas si c'est possible, je demande).

Contribution le : 27/12/2005 22:29
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
bonjour,

A ma connaissance la solution la plus rapide reste la fonction SocketConnecte(), a tester avant chaque requête.

Contribution le : 27/12/2005 22:46
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Citation :

Bah un ping n'est jamais qu'une connexion sur un serveur http sur le port 80 ;)


C'est totalement faux, un ping n'a jamais été une connexion sur un serveur http ou sur n'importe quel serveur

Citation :

Et il mesure ensuite le temps qu'à mis le serveur pour répondre.


C'est incomplet car le postulat initial est inexact.
Comment fais tu pour "pinger" une machine sur lequel il n'y a pas de serveur?

pour plus d'infos lire
http://www.delafond.org/traducmanfr/man/man8/ping.8.html

le socketconnecte est la méthode la plus efficace et la plus sure. Rien n'empêche de bloquer la réponse au ping avec un firewall, parcontre le port du serveur qu'on utilise doit toujours être accessible, d'où le socketconnecte...

Contribution le : 27/12/2005 23:21
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Donc comme je le disais, le socketconnect m'informe bien de la disponnibilité ou non du serveur, mais ça ne réactive en aucun cas la connexion.

Les traitements d'exceptions j'en ait mis sur chaque requête, mais je peux la relancer 50 fois à la suite, une fois que la connexion est perdue, ça semble définitif...

Dans mon cas les exceptions sur les requêtes me permettent juste de faire apparaite un petit message d'erreur avant de faire un finprogramme()

Pas glop tout ça...

Contribution le : 28/12/2005 11:00
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

As tu pensé aux transactions ?

En cas de coupure :
- annule la transaction courante
- reconnecte toi à la base
- relance ta requête.

Bon dév.,

Totof

Contribution le : 28/12/2005 11:20
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
J'avais pas pensé à ça, c'est une piste en effet. Par contre quand on sait que la connexion à 10 pauvres bases met environ 1 minute via GPRS...

Mais je vais tester quand même ça sera peut être un moindre mal.

Merci pour l'idée,

Contribution le : 28/12/2005 15:10
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF

Inscrit:
19/11/2002 12:20
Post(s): 390
Citation :

Daniel a écrit:
C'est totalement faux, un ping n'a jamais été une connexion sur un serveur http ou sur n'importe quel serveur


... Ohhhhh pardonnez moi monseigneur de ne pas avoir cité la RFC tartanpion untel exacte et d'avoir utilisé des termes impropres qui vous ont fait sursautés dans la nuit...
C'est juste que (dans mon esprit de grand pervers malade doublé d'un débutant complet à la limite du nerd, j'ai fait un raccourci peut être par trop saisissant?), par exemple pour faire un ping (ou pardon puisque c'est si inexact, on va dire un test) en PHP (rooohhh désolé, je parle d'un sous langage débile, vous préféreriez le Pascal peut être?) pour tester si un serveur est up, on ouvre une socket sur le site en question (ohhh sur le port 80 dis donc...) et on regarde la réponse... Même qu'à partir du temps que mets la réponse on peut savoir pas mal d'infos...

Maintenant veuillez pardonner à l'incongru vermiceau que je suis d'avoir utilisé un terme si respectable hors de son contexte d'intellectuel informatique masturbatoire et d'avoir marché par... analogie (rooohhh le gros mot...)...

Contribution le : 28/12/2005 21:18
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF

Inscrit:
19/11/2002 12:20
Post(s): 390
Citation :

2501 a écrit:
Donc comme je le disais, le socketconnect m'informe bien de la disponnibilité ou non du serveur, mais ça ne réactive en aucun cas la connexion.

Les traitements d'exceptions j'en ait mis sur chaque requête, mais je peux la relancer 50 fois à la suite, une fois que la connexion est perdue, ça semble définitif...

Dans mon cas les exceptions sur les requêtes me permettent juste de faire apparaite un petit message d'erreur avant de faire un finprogramme()

Pas glop tout ça...


Mais dans le cas où la requête échoue, normalement dans le traitement des exceptions tu peux faire un espèce de "Sinon", dans ce sinon, tu ne peux pas faire appel à une procédure qui relance la connexion?

Genre:

Quand Exception dans
requête
Faire
Test serveur online
reconnexino
requête
Fin

Enfin un truc du style?

Contribution le : 28/12/2005 21:20
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF

Inscrit:
19/11/2002 12:20
Post(s): 390
Sinon, question bête, est ce que ça prends beuaucoup de temps en GPRS de se reconnecter? (Je n'ai testé qu'en ADSL).
Car dans ce cas autant faire:
Connexion,
Batch de requêtes exécutées dans un intervalle de temps court,
Déconnexion.

etc... pour éviter le problème de coupures...

Contribution le : 28/12/2005 21:40
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Citation :

lmame a écrit:
Citation :

Daniel a écrit:
C'est totalement faux, un ping n'a jamais été une connexion sur un serveur http ou sur n'importe quel serveur


... Ohhhhh pardonnez moi monseigneur de ne pas avoir cité la RFC tartanpion untel exacte et d'avoir utilisé des termes impropres qui vous ont fait sursautés dans la nuit...
C'est juste que (dans mon esprit de grand pervers malade doublé d'un débutant complet à la limite du nerd, j'ai fait un raccourci peut être par trop saisissant?), par exemple pour faire un ping (ou pardon puisque c'est si inexact, on va dire un test) en PHP (rooohhh désolé, je parle d'un sous langage débile, vous préféreriez le Pascal peut être?) pour tester si un serveur est up, on ouvre une socket sur le site en question (ohhh sur le port 80 dis donc...) et on regarde la réponse... Même qu'à partir du temps que mets la réponse on peut savoir pas mal d'infos...

Maintenant veuillez pardonner à l'incongru vermiceau que je suis d'avoir utilisé un terme si respectable hors de son contexte d'intellectuel informatique masturbatoire et d'avoir marché par... analogie (rooohhh le gros mot...)...



Il n'y a pas de monseigneur, simplement une reprise d'une information incorrecte.

Le lien est simplement pour les personnes qui ne connaissent pas ce que fait un ping et sur quelle couche il se base.

Je ne vois pas le rapport avec le PHP, et le pascal, pourquoi ne pas parler de python, de perl?

Il s'agit simplement d'un problème de réseau.

@+ "Incongru vermiceau"

Contribution le : 29/12/2005 17:02
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Citation :

lmame a écrit:
Sinon, question bête, est ce que ça prends beuaucoup de temps en GPRS de se reconnecter? (Je n'ai testé qu'en ADSL).


C'est justement bien là le pb. En GPRS, pour me connecter au strict minimum des bases necessaires (environ 15), ça prends bien 1 à 2 minutes, voir plus...

Sinon en effet, si j'était en ADSL il n'y aurait pas de PB.

Par contre en écrivant, je penses à un truc, une fois la connexion perdu, peut être qu'un simple HOuvreConnexion suffirait à tout réactiver, sans avoir besoin de refaire un HChangeConnexion et un HPasse sur chaque fichier (c'est ça qui prends du temps en fait).

Je vais tester.

Sinon ma solution de repli est la suivante : connexion GPRS pour synchro des données, et travail en local, mais c'est plus vraiment du temps réel...

En tout cas je vous tiens au courant... en attendant vous pouvez continuer à vous étriper sur les histoire de ping pong

Contribution le : 29/12/2005 18:30
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Citation :

2501 a écrit:
Citation :

lmame a écrit:
Sinon, question bête, est ce que ça prends beuaucoup de temps en GPRS de se reconnecter? (Je n'ai testé qu'en ADSL).


C'est justement bien là le pb. En GPRS, pour me connecter au strict minimum des bases necessaires (environ 15), ça prends bien 1 à 2 minutes, voir plus...


Je ne connais pas ton appli, mais pourquoi autant de bases?

Si ton appli est simple pourquoi ne pas passer par une application web? Dans ce cas tu simplifies la mise à jour de l'application (qui n'a plus lieu, sauf sur le serveur ), tu n'es plus gèné par les problème de déconnexion car tu n'es plus contraint par le wifi...

Contribution le : 29/12/2005 21:00
Créer un fichier PDF de la contribution Imprimer


Re: Pb communication temps réel avec serveur HF
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

[Moderateur]
Avis aux partenaires:
Evitons les chamailleries s'il vous plait entre nous
Il nous arrive a tous d'écrire à un moment ou à un autre d'écrire des choses qui ne sont pas toujours exact.
Il est bon dans ce cas que cela soit recentré avec courtoisie.
[/Moderateur]

Ping
Composante de TCP/IP, vérifie les connexions établies à un ou plusieurs hôtes distants.
connexion.
Important
une réponse d'échec telle que « Délai de la demande écoulé » peut signifier que l'hôte de destination est hors service ou qu'il n'existe pas de route de retour jusqu'à votre ordinateur. Une réponse d'échec telle que « Destination impossible à atteindre » affiche l'adresse IP du routeur qui a essayé d'acheminer le paquet, mais n'a pas trouvé de route valide.

Les Sockets permettent quand à eux de créer un dialogue entre un client et un serveur sur un port donné.

En résumé même si le Ping renvoi une réponse d'echec, cela ne signifie pas que l'on ne peu pas effectuer une connection à un poste distant surtout si le routeur est justemment configuré pour ne pas répondre au PING.
D'ou l'intérêt de l'utilisation du SocketConnecte()

Je pense que l'utilisation du SocketConnecte() conjointement à l'utilisation des transactions comme le préconise Totof serait à mon avis le meilleur procédé pour ce type de

Contribution le : 30/12/2005 00:11
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
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