OVH Cloud OVH Cloud

Probleme : Tester la presence en ligne de plusieurs hosts rapidement

5 réponses
Avatar
IS
Salut,

Je participe au developpement d'un petit soft en blitz basic ...
Celui qui s'occupe du code a un petit problème : Il cherche a tester le plus
rapidement possible la presence en ligne (ou non) de 255 utilisateurs bien
définis, qui sont identifiés par un hostname (type dyndns.org)

l'ouverture d'un flux tcp/ip sur un utilisateur prend plusieurs secondes,
avant qu'il soit declaré "offline" ... et ces quelques secondes , multiplié
par 255, ca fait long !

Le blitz basic etant limité dans ce domaine, on se demande si il ne serait
pas plus simple d'essayer de faire executer une serie de pings par une autre
application externe, qui retournerai la liste des personnes connectées.

Quelqu'un a une idee ? sachant qu'il faut un prog standalone ... qui peut se
passer de serveur...
Comment le faire le plus simplement et rapidement, on doit juste savoir si
connecté ou non .

merci d'avance pour vos idees.

5 réponses

Avatar
François Müller
"" wrote in message
news:3f26a1e6$0$21126$

| Je participe au developpement d'un petit soft en blitz basic ...
| Celui qui s'occupe du code a un petit problème : Il cherche a tester le
plus
| rapidement possible la presence en ligne (ou non) de 255 utilisateurs bien
| définis, qui sont identifiés par un hostname (type dyndns.org)
|
| l'ouverture d'un flux tcp/ip sur un utilisateur prend plusieurs secondes,
| avant qu'il soit declaré "offline" ... et ces quelques secondes ,
multiplié
| par 255, ca fait long !
|
| Le blitz basic etant limité dans ce domaine, on se demande si il ne serait
| pas plus simple d'essayer de faire executer une serie de pings par une
autre
| application externe, qui retournerai la liste des personnes connectées.

Je ne connais pas le "blitz basic" (le seul blitz que je connaisse se joue
sur 64 cases ;-) mais pourquoi ne pas démmarrer tes demandes de connections
toutes à la fois, avec un thread par demande ? ou alors peut être que je ne
comprends pas ton pb

F.
Avatar
Arnaud Debaene
wrote:
Salut,


Bonjour.

Je participe au developpement d'un petit soft en blitz basic ...
Celui qui s'occupe du code a un petit problème : Il cherche a tester
le plus rapidement possible la presence en ligne (ou non) de 255
utilisateurs bien définis, qui sont identifiés par un hostname (type
dyndns.org)

l'ouverture d'un flux tcp/ip sur un utilisateur prend plusieurs
secondes, avant qu'il soit declaré "offline" ... et ces quelques
secondes , multiplié par 255, ca fait long !

Quelqu'un a une idee ? sachant qu'il faut un prog standalone ... qui
peut se passer de serveur...
Comment le faire le plus simplement et rapidement, on doit juste
savoir si connecté ou non .



Deux solutions :
- multithreading : des threads ouvriers en // testent la présnece de 1 ou
plusieurs utilisateurs.
- Envoi de requêtes multiples en même temps : tu peux envoyer jusqu'à 64
requêtes en même temps (les unes à la suite des autres en boucle serrée)
puis attendre les retours de toutes les requêtes en même temps avec select
ou WSAWaitForMultipleEvents.

PS : Je ne connais pas du tout ce que tu appelles blitz basic. Pour moi,
Blitz, c'est une bilbiothèque C++ de calcul numérique et accessoirement un
torture-test pour compilateurs en ce qui concerne les templates.

Arnaud
MVP -VC
Avatar
IS
http://www.blitzbasic.com/
Avatar
François Müller
"" wrote in message
| http://www.blitzbasic.com/

Si les seules précisions que tu sois capable de donner pour nous aider à
répondre à ta question, c'est un lien sur un outil de développement assez
limité, ne comptes pas sur quiconque pour répondre à ton problème.

Aller, salut

F.
Avatar
IS
On a solutionné le problème en fait ...
au lieu de passer en tcp/ip on est passé en udp ... qui n'est pas orienté
connexion.
Je n'ai pas donné le lien pour vous aider a repondre a la question, mais
pour repondre votre interrogation sur ce qu'etait blitz basic.

voilou :)

ps : il est limité oui, mais il convient parfaitement a ce qu'on veut en
faire, et le programmeur (pas moi) le maitrise a la perfection.

"François Müller" a écrit dans le message
de news: bg88sb$m51kl$

"" wrote in message
| http://www.blitzbasic.com/

Si les seules précisions que tu sois capable de donner pour nous aider à
répondre à ta question, c'est un lien sur un outil de développement assez
limité, ne comptes pas sur quiconque pour répondre à ton problème.

Aller, salut

F.