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

Langage Java Discussion :

Migration PHP > Java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut Migration PHP > Java
    Bonjour,
    je cherche à ré-écrire une application (écrite en PHP) en Java. Voici comment j'ai conçu l'appli pour le langage PHP :

    1. Récupération dans un fichier de configuration de l'ensemble des protocoles à gérer ainsi que des ports d'écoute associés (eg: ftp => 21, http => 80 etc...)
    2. Pour chacun des ports, ouverture d'un socket d'écoute.
    3. Création d'une boucle infinie (eg: while(true)) qui :
      • Accepte les connections sur le port d'écoute, lui attribut un nouveau port et créer une nouvelle session correspondant (new session($socket)).
      • Traite les actions liées aux sessions (function iterate()).
    4. Fermeture de tous les sockets encore ouverts.

    Ensuite ces 4 étapes sous enfermés dans une boucle infinie.

    Concernant l'objet session appelé par la classe server, il se limite à une serie de méthodes :
    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
     
    class session {
       private $sock; // Socket d'écoute
       private $data; // Socket de données pour les connection passives (eg: FTP)
       private $pasv; // Booleen (true:mode passif;false:mode actif)
       private $tt; // Tranfert Type (Binaire ou ASCII)
       private function __construct($sock) // Stocke le socket $sock dans la varible $this->sock;
       private function open() // Ouvre un nouveau socket
       private function read() // Lit le données
       private function write() // Ecrit la reponse
       private function close() // Ferme la session
       private function error() // Error handler
       public function iterate() // Gère les réactions de l'object
    //...
    }
    Enfin pour chaque protocol supporté, une nouvelle classe session_{protocol} étend les fonctionnalité de la classe session en suchargeant la function iterate().

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    ok, c'est cool tout ça mais il y a une question ? un problème ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut
    AH oui j'ai oublié la question

    Le probleme actuel est que je n'arrive pas a gerer les piles sous Java comme je le fais sous PHP avec les arrays. Existe-t-il une solution pour 'naviguer' dans un tableau associatif? A l'instar de foreach ou des fonction PHP in_array et array_search...

  4. #4
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Citation Envoyé par rramy Voir le message
    Le probleme actuel est que je n'arrive pas a gerer les piles sous Java comme je le fais sous PHP avec les arrays. Existe-t-il une solution pour 'naviguer' dans un tableau associatif? A l'instar de foreach ou des fonction PHP in_array et array_search...

    Pour ça, je te renvoie à la FAQ sur les collections: http://java.developpez.com/faq/java/...angage_donnees

    mais aussi à l'API Java pour les méthodes qui existent sur les collections .

    Je pense qu'avec ça, tu devrais t'en sortir facilement.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut
    Mon 1er rapport d'erreur en Java
    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
    package ab;     
    
    import java.io.*;
    import java.net.*;
    import java.util.*;
    
    public class Main {    
        private static Map prot;
        private static Map sock;
        
        public static void main(String[] args) throws IOException {
            System.out.println("Hello world!");        
                     
            // Listening Ports
            prot.put(21,"ftp");
            prot.put(80,"http");
                
            // Listening Sockets
            Integer k;
            String v;
            Iterator i = prot.entrySet().iterator();
            while (i.hasNext()) {
                Map.Entry m = (Map.Entry) i.next() ;
                k = (Integer) m.getKey();
                v = (String) m.getValue();
                
                System.out.println(k + " => " + v);
            }    
        }
    }
    L'execution de ce code me renvoit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    init:
    deps-jar:
    Compiling 1 source file to D:\Mes docs\NetBeansProjects\ab\build\classes
    Note: D:\Mes docs\NetBeansProjects\ab\src\ab\Main.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    compile-single:
    run-single:
    Hello world!
    Exception in thread "main" java.lang.NullPointerException
            at ab.Main.main(Main.java:15)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)
    RQ: La ligne 15 est mise en gras dans le code.
    Et je n'ai aucune idée de ce qui cloche...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 325
    Par défaut
    Il faut que tu initialises tes collections. Ici tu ne fais que les déclarer, mais elles sont toujours "null" au moment où tu les utilises.
    Tu peux écrire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private static Map prot = new HashMap();
    private static Map sock = new HashMap();
    D'après ce que tu écris et si tu es en java 5 ou ultérieur, tu peux même écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private static Map<Integer, String> prot = new HashMap<Integer, String>();
    private static Map<Integer, Stirng> sock = new HashMap<Integer, String>();

Discussions similaires

  1. Migration PHP -> Java
    Par bardyna dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 12/09/2013, 10h22
  2. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50
  3. Migration PHP > Java : Abstraction
    Par rramy dans le forum JDBC
    Réponses: 1
    Dernier message: 21/05/2008, 17h29
  4. [Tomcat]échange de session entre php et java
    Par benwa dans le forum Tomcat et TomEE
    Réponses: 18
    Dernier message: 05/06/2007, 17h01
  5. [JSP/Tomcat] Intégration de PHP dans Java
    Par milhouz_deglingos dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 17/08/2005, 12h02

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