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

API standards et tierces Java Discussion :

Serveur de Socket


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Par défaut Serveur de Socket
    Bonjour,
    J'ai implémenté un serveur de socket sur le port 8080 qui fonctionne correctement.
    Seulement, si j'envoie le message http://localhost:8080/name=ggounouman dans un browser, mon serveur recoit GET /name=ggounouman HTTP/1.1.
    Il y a t'il moyen de récupérer la valeur name sans faire une usine à gaz en sachant que j'ai plus de 30 valeurs à récupérer.
    Je pensais utiliser la class URL ou urlConnetion mais ca ne marche pas, car ca me dit que la chaine n'est pas une URL valide.
    Quelqu'un aurait-il une idée ?
    Merci

    Ci joint mon code source :

    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
    import java.io.*;
    import java.net.*;
     
    public class ServeurSocket extends Thread{
    	public
     
       static final int port = 8080;
     
       public ServeurSocket(){
    	   (new Thread(this)).start();
       }
     
       public void run() {
    	    ServerSocket s;
    		try {
    			s = new ServerSocket(port);
    	 while (true) { 
    		Socket soc = s.accept();
     
            BufferedReader plec = new BufferedReader(new InputStreamReader(soc.getInputStream()));
     
            String str=plec.readLine();  // lecture du message
            GestionFichier.logOut("ServeurSocket > ECHO = " + str);
     
            plec.close();
            soc.close();
    	   }
     
    		} 
    		catch (BindException e){}
    		catch (IOException e){}
       }
    }

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut,

    Dans tout les cas tu recevras :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GET /tapage?param1=value1...
    HTTP /1.1
    ...autres headers HTTP.
    Il va falloir que tu parse la ligne.
    Tu dois surement pouvoir t'inspirer des sources de serveurs web open source pour éviter "l'usine à gaz".

    Par contre, si tu peux passer par des paramètres de type POSt, ce sera plus simple à parser, tu recevra ce genre de chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    POST tapage
    HTTP /1.1
    ...autre headers
                 // ligne vide obligatoire
    param1=value1&param2=value2
    a+

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Par défaut
    Citation Envoyé par nicØB Voir le message
    Oui, j'ai oublié le "?" mais ca ne change rien, je recois GET /?name=ggounouman HTTP/1.1


    Merci de ta réponse Kh4iN3, tu confirmes ce que je pensais, je n'ai pas d'autre choix que de faire mon propre parser, j'aurais aimé souhaité l'éviter mais bon ...
    Pour le POST ca m'interresse, quelle url faut il mettre dans mon browser pour avoir
    POST HTTP/1.1
    ...
    /?name=ggounouman


    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Dialoguer avec un serveur de socket depuis forms
    Par phb07 dans le forum Forms
    Réponses: 7
    Dernier message: 24/10/2008, 16h37
  2. comment passer un paramètre a un serveur de socket
    Par orobin dans le forum Silverlight
    Réponses: 4
    Dernier message: 16/09/2008, 22h06
  3. Intégrer un serveur de sockets dans JBoss
    Par DevTeam_ dans le forum Wildfly/JBoss
    Réponses: 15
    Dernier message: 24/01/2008, 10h54
  4. Lancer un serveur de socket par SSH
    Par ouss dans le forum Linux
    Réponses: 5
    Dernier message: 15/06/2007, 12h29
  5. Arrêt d'un serveur (connexion socket)
    Par Goduak dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 25/02/2007, 12h32

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