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

Applets Java Discussion :

Prevenir une nouvelle application


Sujet :

Applets Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Prevenir une nouvelle application
    J'ai une applet java qui implemente un chat vocal (via jiax); je voudrais empecher l'utilisateur de lancer une autre instance de l'applet dans une autre page web en naviguant à l'adresse de l'application. J'ai pensé à refuser au niveau serveur les nouvelles connexions provenant d'IPs deja enregistrés, mais les clients connectés derriere un routeur ne peuvent établir de multiples connexions. Est il possible de verifier au niveau client si l'applet roule deja?
    Merci,

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Solution possible :
    Je ne sais pas s'il est possible de vérifier la présence d'une instance d'applet comme ça. Par contre, si l'applet est signée, il suffirait en quelque lignes de codes de lui faire écouter un port quelconque, et de repondre un mot quelconque. Ensuite, dans la phase d'initialisation de l'applet, il suffirait de commencer par interroger se port, et s'il ne repond pas, c'est que l'on utilise pas encore l'applet. Si ça repond, alors c'est que l'applet s'execute déjà.
    C'est une idée.

  3. #3
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Optimisation de l'idée précédente.
    Pour ne pas prendre le risque de s'exposer à un timeout long et agaçant, il suffit de créer un serversocket sur un port précis. Si ce dernier est disponible, c'est que l'applet est jouée pour la première fois, sinon, et bien il ne l'est pas. En jonglant avec les levées d'exception, cela devient instantanné de savoir si l'applet s'exécute déjà ou pas. Mais on ne peut jamais savoir si le port que l'on va utilisé n'est pas déjà monopolysé par un autre programme, auquel cas, l'applet ne demarrerai jamais.
    Mais comme dit, c'est une idée. Sinon, pour faire simple, on imite sans se compliquer la vie la technique des cookie en créant un fichier texte quelconque localement, que l'on supprime en quittant. Il suffirait donc de vérifier la présence de ce fichier pour découvrir l'existance d'une instance de l'applet. La, c'est plus simple si on nomme le fichier d'une manière unique.

Discussions similaires

  1. [iOS 4.x] Apple censure une nouvelle application de son AppStore
    Par Gordon Fowler dans le forum Apple
    Réponses: 215
    Dernier message: 03/12/2010, 11h52
  2. Nordea lance une nouvelle application iPhone pour ses fonds
    Par Mejdi20 dans le forum Communiqués
    Réponses: 0
    Dernier message: 11/10/2010, 23h27
  3. Réponses: 1
    Dernier message: 08/01/2009, 18h34

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