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

Entrée/Sortie Java Discussion :

Socket client particulier


Sujet :

Entrée/Sortie Java

  1. #1
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut Socket client particulier
    Salut à tous,

    Voilà je débutes en JAVA et comme premiere application je voulais faire un truc ou java est le spécialiste : les sockets :p ET là je me retrouve face à un mur.

    En fait je souhaites émuler un client d'une application en analysant les packets du client original avec le serveur .
    J'ai donc créé mon client, avec pour premier objectif d'intéroger google avec une requete HTTP, dont voici le code :
    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
     
    private void test(){
    		try {
    			  Socket s = new Socket("google.fr", 80);
    			  OutputStream theOutput = s.getOutputStream();
    			  PrintWriter pw = new PrintWriter(theOutput, false);
     
    			  pw.print("GET /firefox&client=firefox-a&rls=com.google:fr:official HTTP/1.1\r\n");
    			  pw.print("Accept: text/plain, text/html, text/*\r\n");
    			  pw.print("\r\n");
    			  pw.flush();
     
    			  InputStream in = s.getInputStream();
    			  InputStreamReader isr = new InputStreamReader(in);
    			  BufferedReader br = new BufferedReader(isr);
    			  String theLine;
    			  while ((theLine = br.readLine()) != null) {
    			     System.out.println(theLine);
    			  }
    			}
    			catch (IOException e) {
    				System.out.println(e);
    		}
    	}
    Ca ça marche très bien, pas de soucis, 2e etape je remplace le serveur de google par le serveur qui m'interesse, j'ai l'ip et le port donc pas de probleme de ce coté. Par contre en analysant le protocole de ce serveur je me rend compte que celui-ci en tout debut de communication m'envoi une premiere chaine de caractère ( avant meme toute requete du serveur ) et cette chaine de caractère est obligatoire à récupérer puisqu'elle est ensuite utilisée pour la reponse du client au serveur.
    J'ai donc tenté de récupérer cette premiere chaine en enlevant les 4 lignes avec le pw et en ecoutant une reponse, mais en vain, ma classe socket arrive rien à récupérer. Pour autant, avec un logiciel d'ecoute du reseau le packet du serveur est bel et bien envoyée à ma socket cliente, c'est donc elle qui n'arrive pas à la récupérer.

    Etant donné que ce mode de fonctionnement ( client en ecoute du premier message serveur ) n'est pas franchement habituel j'aurais voulut savoir si qqn avait dejà croisé ce fonctionnement, et si il est possible de le gérer avec la classe socket de java ( ou une autre classe JAVA, peu importe ^^ )

    Voilà, merci par avance pour vos suggestions

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    t'as essayé de lire un tableau de byte plutôt qu'une chaine de caractère ?

  3. #3
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    heu ui sans succès :/

Discussions similaires

  1. [Socket][Client/Server]Exception d'origine inconnue
    Par willowII dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/11/2005, 22h36
  2. Problème de time-out avec un socket client.
    Par Depteam1 dans le forum MFC
    Réponses: 3
    Dernier message: 17/10/2005, 10h30
  3. Couper la connexion d'un socket client...
    Par Higestromm dans le forum Développement
    Réponses: 4
    Dernier message: 28/10/2004, 10h41
  4. Réponses: 2
    Dernier message: 12/10/2004, 13h04
  5. [SOCKET] Client C connecté à un serveur Java
    Par missllyss dans le forum Développement
    Réponses: 2
    Dernier message: 07/06/2004, 13h14

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