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 :

qui fait le travail ? serveur ou client??


Sujet :

Applets Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut qui fait le travail ? serveur ou client??
    hello tlm,
    j'ai une appel java (courbe.java) qui lit un fichier (points.txt), et trace des courbes.
    les 2 sont sur un serveur.

    points.txt est de la forme suivant :

    X | Y1 | Y2 |
    0.0 ; 1 ; 3.2 ;
    1 ; 2 ; 5.5 ;
    1.2 ; 3.2; 2.2 ;
    ...etc

    donc avec mon courbe.java, il doit tracer 2 courbe.

    ma question est qui fait quoi ? cad :
    -c'est le serveur qui scrute le fichier total et trace la courbe et l'affiche au client. dans ce cas, le fichier peut etre 7GO ou 7ko le client s'en moque.

    - ou c'est le client qui telecharge l'appel + le fichier et qui fait tout le travail ? alors si la taille de fichier est grand, ca serai un probleme.

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,
    Ca dépend. Quelle méthode utilises-tu pour communiquer entre le client et le serveur ?
    Applet -> client
    Servlet/JSP -> serveur
    Sockets -> au choix
    RMI -> serveur
    Corba -> au choix
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    je comprens pas ce que tu veut dire.
    voici mes exemple d'utilisation, j'ai les 3 fichiers suivant sur un poste à distance.
    courbe.java
    courbe.html
    point.txt

    je lance courbe.html de mon poste grace à url entre dans mon exploreur ( je suis ne mode local)
    et ca trace les courbes. qui a fait quoi dans cette histoire?

    2eme exemple :
    mon but est que ces 3 fichiers soit sur un serveur et je lance grace à IE ( exemeple www.pageperso.com/courbe.html ) et ca trace les courbes sur mon poste. dans ce cas qui a fait quoi ? est ce que le client fait qlq chose ou stock qlq chose.

  4. #4
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par lykim
    j'ai une appel java (courbe.java)
    Tu veux dire une applet? Si elle est sur le serveur ce n'est plus une applet mais une servlet.
    L'affichage, il est nécessairement fait sur le client.
    Maintenant la question concerne le traitement.

    Tu as le choix entre:
    - faire le traitement sur le serveur et renvoyer une iamge qu'affichera le client
    - comme tu as dit, envoyer le txt à l'applet qui traitera tout.

    Il n'y a pas de "Bonne Réponse" à une telle question.

    Si c'est pour un réseau local en 100Mo le transfert n'ets pa sle problème.
    Si les utilisateurs sont en 56K c'est plus problematique.

    POur le traitements ca dépend aussi, si le fichier "image" est différent à chaque fois et que 500 personnes doivent y accéder à chaque fois... ca peut saturer le serveur.

    Par contre, si fichier "Points" change peu, tu peux :
    -faire le traitement sur le serveur
    -stocker le resultat dans un fichier

    Lorsqu'un client a besoin de l'image, il suffit de vérifier si le fichier points a changé. Si ce n'ets pas le cas, il suffit de renvoyer la meme image (donc aucun traitement), ca optimisera le côté serveur... à toi de bien définir les priorités en matière de ressources
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    pour la lecture de mon fichier, voici un morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    url          = new URL(getCodeBase(),"points.txt");
    urlConnexion = url.openConnection();
    entree       = urlConnexion.getInputStream();
    fluxEntree   = new BufferedReader(new InputStreamReader(entree));
     
     
    //Lecture du fichier
    while(fluxEntree.ready())
    {
    // trace les courbes
    }

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    mon fichier points.txt peut contenir 1 000 000 point par courbe et avoir plus 10 courbes.

    donc si j'ai bien compris faut que je fasse un servlet.
    et si c'est un servlet,c'est le serveur qui fait tout?

  7. #7
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    En fait, ce qu'on veut savoir, c'est si le fichier courbe.java contient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class courbe extends Applet
    Edit : oui, dans une servlet, les calculs sont effectués pas le serveur. Le principe est qu'il calcule, mais finit par renvoyer une page html classique.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  8. #8
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par lykim
    pour la lecture de mon fichier, voici un morceau de code :
    ...
    Oui mais si tu traces tes courbes dans cette boucle, que c'est cette boucle qui accède au fichier et que le fichier est sur le serveur :

    -----------------------------------------------------------------
    Tu vas tracer tes courbes sur le serveur....

    Moralité ... soit tu transfert le fichier au client, soit dan sta boucle tu construis une image que tu envois ensuite au client , mais dans tous les cas, il faut bien communiquer avec le client...
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class graphique extends JApplet
    arf je comprens plus rien, c'et une appel que j'ai ou un servlet??

    sinon mon courbe.java ne cree pas de page html.
    mais il faut des drawlines :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void paint(Graphics g)
    {
        g.drawLine(x_depart, y_depart, x_arive, y_arrive);
    les x et y sont lu dans la par le code plus haut avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while(fluxEntree.ready())
      {
          ligne            = fluxEntree.readLine();
          indiceSeparateur = ligne.indexOf(";");
    ..Etc

  10. #10
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    Tu vas tracer tes courbes sur le serveur....
    ba pourquoi quand je lance courbe.html de mon poste
    ca m'affiche bien la courbe.

    sachant que tout les fichiers sont sur un poste en local et j'ai lancé courbe.html avec l'url ( \\Fi-dev-5-1\Montescot\bal\Ly\java\courbe.html)

  11. #11
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Dans ce cas, il s'agit d'une Applet.
    Une Applet A..pplication


    Les applets sont de petites applications java qui s'executent coté client dans un navigateur.

    Les servlets S... Serveur sont des application java qui s'executent côté ...serveur, elle peuvent communiquer avec les applets pour leur envoyer des données.
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  12. #12
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par lykim
    ba pourquoi quand je lance courbe.html de mon poste
    ca m'affiche bien la courbe.

    sachant que tout les fichiers sont sur un poste en local et j'ai lancé courbe.html avec l'url ( \\Fi-dev-5-1\Montescot\bal\Ly\java\courbe.html)
    ben oui si tes fichiers sont en local mais:

    Citation Envoyé par lykim
    voici mes exemple d'utilisation, j'ai les 3 fichiers suivant sur un poste à distance.
    courbe.java
    courbe.html
    point.txt

    ca mériterait une explication plsu claire ...
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  13. #13
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    mes 3 fichiers sont actuellements sur un poste en reseau.
    mais plustard il doit etre sur un serveur pour que n'import de quel poste peut voir les courbes via internet.

    donc si j'ai bien compris, le poste en question va telecharger le fichier point.txt puis tracer la courbe.
    si c'est ca, j'suis dans un grand caca xD
    imagine que le fichier peut faire 1GO, arfff

  14. #14
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Non c'est pas ça.
    Ca veut juste dire que ce que tu fais la ne marchera plus tel que c'est actuellement une fois sur le serveur.
    Sur le SERVEUR il faudra créer une servlet qui fer ceci :
    SOIT:
    -1) lire le fichier.txt, créer une image, l'envoyer à l'applet.
    -2) envoyer directement le fichier txt à l'applet

    Sur le client il faudra créer une applet qui devra
    -1) recevoir l'image et l'afficher
    -2) recevoir le fichier, calculer l'image et l'afficher


    c'ets plus claire la?
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  15. #15
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Citation Envoyé par cladsam
    -1) lire le fichier.txt, créer une image, l'envoyer à l'applet.
    Je ne crois pas. Un Servlet est capable de générer un page en html. Inutile de s'encombrer avec une applet supplémentaire.

    Le mieux, ca serait que tu nous montre le fichiers java. Le fait que tes fichiers soient sur un poste en réseau ne veut rien dire.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  16. #16
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    le code a été simplificié, mais en gros dans la fonction on lit le fichier et rempli un vecteur.
    et dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void paint(Graphics g)
    ,on lit le vecteur et on trace la courbe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
    /**Importation des librairies*/
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.applet.*;
    import java.awt.*;
    import javax.swing.*;
    import java.lang.*;
     
     
     
    public class graphique extends JApplet
    {
      URL             url              = null;
      URLConnection   urlConnexion     = null;
      InputStream     entree           = null;
      BufferedReader  fluxEntree       = null;
      String          valeur2          = new String("");
      String          ligne            = new String("");
      int             indiceSeparateur = 0;
      int            nbreDeLigne      = 0;    
      int               lignesPassees     = 0;
      private Vector     tableauValeury = new Vector();
      private Vector     tableauValeurx     = new Vector();
     
     
      int    nbrePoint    = 0;
      double    valxf ;
      double    valyf ;
      double    maxx ;
      double    maxy ;
      double    minx ;
      double    miny ;
      double amaxy ;
      double aminy ;
      double amaxx ;
      double aminx ;
     
      int    ce;
      String    source           = "test.txt";
      String    valx          = new String("");
      String    valy          = new String("");
     
     
      /**Méthode d'initialisation de l'applet - initialise les paramètres du graphique*/
      public void init()
      {  
        try
        {
     
          url          = new URL(getCodeBase(),source);
          urlConnexion = url.openConnection();
          entree       = urlConnexion.getInputStream();
          fluxEntree   = new BufferedReader(new InputStreamReader(entree));
     
          //Lecture du fichier
          while(fluxEntree.ready())
          {
            ligne            = fluxEntree.readLine();
            indiceSeparateur = ligne.indexOf(";");
            valx          = new String(ligne.substring(0,indiceSeparateur));
            valy           = new String(ligne.substring(indiceSeparateur + 1,ligne.lastIndexOf(";")));
            tableauValeurx.addElement(valx);
            tableauValeury.addElement(valy);
     
            valxf = Double.parseDouble( valx ) ;
            valyf = Double.parseDouble( valy ) ;
     
            if (nbreDeLigne == 0){ minx = valxf ; maxx = valxf; miny = valyf ; maxy = valyf ; }
            if (valxf > maxx){ maxx = valxf;}
            if (valxf < minx){ minx = valxf;}
            if (valyf > maxy){ maxy = valyf;}
            if (valyf < miny){ miny = valyf;}
            nbreDeLigne++;
            ce = nbreDeLigne;
     
          }  
          //Fermeture du fichier
          fluxEntree.close();
     
          //si problèmes de lecture du fichier
        } 
        catch (FileNotFoundException fnfe) 
        {
          System.out.println("fichier non trouvé");
        }
        catch (IOException ioe) 
        {
          System.out.println("erreur d'E/S " + ioe.getMessage());
        }
     
      }//Fin de la méthode Init()
      public void paint(Graphics g)
      {
        Enumeration listex            = null;
        Enumeration listey            = null;
        Float       valeurPointx      = null;
        Float       valeurPointy      = null;
        // tracage des axes 
        g.drawLine(40, 60, 40, 360); 
        g.setFont(new Font("Helvetica", Font.PLAIN, 22)); 
        g.drawLine(40, 360, 1000, 360);
     
        // tracage des points 
          nbreDeLigne = 1;
          int ancienX = 0;
          int ancienY = 0;
          double ecarty;
          double ecartx;
          ecartx = amaxx-aminx;
          ecarty = amaxy-aminy;
          double rapporty ;
          double rapportx ;
          listex = tableauValeurx.elements();
          listey = tableauValeury.elements();
     
          while(listex.hasMoreElements())
          {    
     
              g.drawLine(40+ancienX,60+ancienY,40+valxint,60+valyint);
              ancienX = valxint;
              ancienY = valyint;
              nbreDeLigne ++ ;
              g.setColor(Color.black);       
          }
     
      } // fin tracage graph
     
    }//fin de l'applet

  17. #17
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Oui et donc ce code, il fonctionne?
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  18. #18
    Membre du Club Avatar de gabule
    Inscrit en
    Avril 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2006
    Messages : 139
    Points : 45
    Points
    45
    Par défaut Applet
    Bien sur que c'est une applet !
    On verra bien quand on testera.
    N'est ce pas li-kim ?

  19. #19
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    oui il marche :
    http://ly.kim.neuf.fr/java/graphique.html

    mais je sais tjs pas, qui fait quoi dans l'histoire.
    dans cette exemple mon fichier de données est que de 130ko
    mais dans la version final, les données peut depasser 1GO
    d'ou je cherche à comprendre le fonctionnement.

  20. #20
    Membre du Club Avatar de gabule
    Inscrit en
    Avril 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2006
    Messages : 139
    Points : 45
    Points
    45
    Par défaut
    haha ca sera la surprise !!!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Requête qui fait ramer le serveur
    Par Théolude dans le forum Requêtes
    Réponses: 8
    Dernier message: 09/02/2010, 09h26
  2. [Singleton] Class SQL qui fait planté le serveur
    Par Angelsafrania dans le forum ASP.NET
    Réponses: 6
    Dernier message: 25/06/2008, 13h22
  3. fonction qui fait crasher le serveur ?
    Par hannibal69 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/04/2007, 16h00
  4. Requete qui fait planter le serveur.
    Par Lambrosx dans le forum Installation
    Réponses: 6
    Dernier message: 05/04/2007, 18h28
  5. Réponses: 3
    Dernier message: 27/01/2007, 09h11

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