IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Savoir si l'utilisateur est connecté au Web


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Par défaut Savoir si l'utilisateur est connecté au Web
    Bonjour à tous,

    Je voudrais savoir s'il y'a une manière portable de savoir si l'utilisateur courant est connecté au Web.
    J'imagine qu'il va falloir que je me tourne vers une librairie qui gère les sockets.
    Je viens d'installer asio (boost), et je suis plongé dans la doc mais pour l'instant je ne vois rien.

    Merci d'avance!

    Sp@rtan03

  2. #2
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut
    Citation Envoyé par Spartan03
    J'imagine qu'il va falloir que je me tourne vers une librairie qui gère les sockets.
    En effet ,je te conseil ce lien: http://c.developpez.com/WalrusSock/
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  3. #3
    Membre chevronné Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Par défaut
    L' API inet a une fonction qui fait ça.
    http://c.developpez.com/sources/bcb/?page=internet

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Par défaut
    Ok, d'accord!

    Mais est-ce que les winsocks sont portables. Au niveau du serveur surtout, car les clients seront presque tous sous Windows mais le serveur sera probablement sous Linux.
    Je ne pense pas vu que la librairie winsock n'est pas standard et qu'il existe des librairies comme (boost.)ASIO qui vantent leur portabilité.

  5. #5
    Membre chevronné Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Par défaut
    Les sockets BSD correspondent à une norme établie.

    La majorité des plate-formes s'y conforment. A part une, qui est payante. Elle s'est tout simplement appropriée l' API en la ré-écrivant, en ajoutant des fonctions WSA dont l' utilité m' échappe, etc... La liste des différences entre les sockets windows et le reste du monde est très longue, j'ai d'ailleurs écrit un livre à ce sujet.

    Par conséquent non, "winsock n'est pas portable", les sockets non plus d' ailleurs, pour la même raison. C'est dommage qu'un code compile et fonctionne bien sur UNIX/Linux/FreeBSD/OS/2/Solaris/Mac mais pas sur MS. Et vice-versa.

    Mais à mon avis l'idée du serveur dédié linux est une bonne approche. Mon conseil: fais ton client windows d'un côté, et le serveur linux de l' autre. De toute façon il y aura deux liens en téléchargement. Au pire on s'en sort très bien avec quelques directives pré-processeur ou quelques macros.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Par défaut
    Citation Envoyé par Lunixinclar
    Mais à mon avis l'idée du serveur dédié linux est une bonne approche. Mon conseil: fais ton client windows d'un côté, et le serveur linux de l' autre. De toute façon il y aura deux liens en téléchargement. Au pire on s'en sort très bien avec quelques directives pré-processeur ou quelques macros.
    Le problème, c'est que mon application va être distribuée (gratuitement), ce n'est pas (seulement) pour mon usage perso, elle doit donc être portable.
    Sinon, effectivement, je code une appli. Windows pour mon client, une linux pour mon serveur et c'est bon!

    Je m'explique, il s'agit d'un petit programme qui sert à vraiment bannir une personne malveillante d'un site.
    En effet, aucun moyen efficace n'a encore été trouvé à ce jour.

    La solution serait alors de connaitre en permanence l'IP d'un membre banni (la plupart des IP étant dynamiques).
    Ce que je propose, c'est un programme qu'on installe sur l'ordinateur d'un banni (là je n'ai pas encore trouvé comment faire pour l'installer), qui doit être le plus léger possible et qui doit marcher sous Windows, MAC et Linux (il s'agit du prog. client). Ce programme vérifie si l'utilisateur est connecté au Web toutes les 5 secondes et s'il l'est, il envoie son IP au serveur et, dès qu'il se déconnecte, il se remet en attente de connection. Sinon, il réenvoie l'IP toutes les 20 secondes.
    Coté serveur, ce programme récéptionne les IP, les stocke dans un fichier avec une syntaxe particulière (au départ j'avais pensé à du XML) et, lorsqu'il n'a plus de nouvelles d'une IP depuis plus de 50 secondes, il l'efface de ce fichier (d'où l'utilité du réenvoi de l'IP toute les 20 secondes) afin de ne pas pénaliser un nouveau connecté qui récupérerait l'IP d'un banni déconnecté.
    Le Webmaster, pour sa part, gère les bannis à sa manière. Il peut leur empêcher l'accès à l'espace membre ou carréement à tout le site et ce, grâce à des langages Web dynamiques tels que le PHP ou l'ASP.

    Je coderai donc aussi une petite bibliothèque PHP et une ASP qui permettent de savoir si l'IP d'un client qui appelle une page ($_SEVER['REMOTE_ADDR'] en php) est bannie en analysant le contenu du fichier des IP bannies.
    Le fichier devrait ressembler à ceci :

    IP_bannie1|timestamp(\n)
    IP_bannie2|timestamp(\n)
    etc...
    Ou IP_bannie représente l'IP bannie et timestamp le time_t auquel on a reçu l'IP pour la dernière fois.

    Donc, pour cette raison, l'application, aussi bien du côté du serveur que du client, devra être portable et, donc, j'aimerais bien ne pas avoir à écrire une appli pour chaque OS. C'est pourquoi j'essaie de bosser avec une librairie portable.

    J'ai entendu dire que ASIO était très bien (d'ailleurs, s'il elle va être intégrée à boost, c'est surement qu'elle l'est).
    Mais je trouve la doc un peu faible.
    Connaissez vous des tutos sur ASIO?

Discussions similaires

  1. [Débutant] Savoir si l'ordinateur est connecté à un site web
    Par T4unt dans le forum C#
    Réponses: 4
    Dernier message: 25/02/2013, 20h18
  2. Savoir si l'utilisateur est connecté à Internet ou non
    Par YANN-56 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/01/2010, 13h48
  3. Réponses: 1
    Dernier message: 29/10/2009, 11h09
  4. Savoir si un utilisateur est connecté
    Par acheda dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2007, 16h55
  5. [Active Directory] Savoir si un utilisateur est connecté
    Par bl4ckwolf dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 15/08/2006, 16h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo