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

Java Discussion :

Proxy en Java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2017
    Messages : 15
    Par défaut Proxy en Java
    Bonjour à tous,

    Voilà, je viens de débarquer sur ce forum donc une petite présentation s'impose. Je suis depuis 10 ans spécialisé dans les réseaux et la VoIP et je retourne sur les bancs d'école pour un master en cours du soir.

    Un des premiers gros travail est la réalisation d'un proxy en Java. N'ayant plus codé une ligne depuis ma sortie de l'école, je suis archi rouillé en Java mais ça semble aller

    Je suis pas trop mal parti, mais j'ai un soucis dans la dernière étape du proxy, le renvoie de la réponse du serveur web vers le client.

    Lors de la création du paquet de réponse, j'obtiens l'erreur suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception in thread "Thread-1" java.lang.ArrayIndexOutOfBoundsException: 8192
    	at WebHandling.<init>(WebHandling.java:61)
    	at ProxyServeur.traitement(ProxyServeur.java:122)
    	at ProxyServeur$1.run(ProxyServeur.java:44)
    	at java.lang.Thread.run(Thread.java:748)
    J'ai une autre petite question concernant mon code, je galère à trouver comment remplacer cette commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     String ligne = serverWeb.readLine();
    Car la méthode readLine() pour un objet de la classe DataInputStream est dépréciée...

    Ce proxy a été réalisé sur base de bout de code trouvé sur le net, ce code est encore à travailler (classe, et autre) donc soyer un peu indulgent avec le noob que je suis

    Vous pouvez choper le code ici: http://gofile.me/2FY0Y/3nSsI3lJR

    Merci d'avance pour votre aide !

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2017
    Messages : 15
    Par défaut
    Re-bonjour à tous,

    j'ai trouvé la solution à mon erreur principale, je n'avais pas fait le lien entre l'erreur: Exception in thread "Thread-1" java.lang.ArrayIndexOutOfBoundsException: 8192

    Et la taille de mon buffer dans le code... En effet 8192 bits ça fait un peu court...

    Par contre, je suis toujours ouvert aux alternatives pour la commande dépréciée.

    Merci

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par hjacquemin Voir le message
    Par contre, je suis toujours ouvert aux alternatives pour la commande dépréciée.

    Merci
    Les suggestions se trouvent directement dans la javadoc de la méthode


    readLine()
    Deprecated.
    This method does not properly convert bytes to characters. As of JDK 1.1, the preferred way to read lines of text is via the BufferedReader.readLine() method. Programs that use the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form:
    DataInputStream d = new DataInputStream(in);

    with:
    BufferedReader d
    = new BufferedReader(new InputStreamReader(in));
    Maintenant, si tu mélange du binaire et du texte, vu que c'est du HTTP et qu'on peux supposer du ASCII pour lespremiers headers, tu peux toi même repérer les \n dans les arrays de bytes et les convertir en String avec l'encodage ASCII

    Autre possibiltié, brancher un un BufferedInputStream que tu branche ensuite sur un InputStreamReader pour ensuite utiliser la méthode reset et recommencer à 0 en binaire un fois la décision prise.

Discussions similaires

  1. Authentification proxy en java
    Par DevServlet dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 08/01/2010, 11h08
  2. Identifier nom de l'hote et proxy en java ?
    Par ammouna24 dans le forum Général Java
    Réponses: 0
    Dernier message: 29/04/2009, 08h25
  3. Connexion par le biais d'un proxy en java.
    Par Knuckles dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 18/07/2008, 23h23
  4. "Détection automatique des paramètre proxy" en Java ?
    Par filc0 dans le forum Général Java
    Réponses: 9
    Dernier message: 15/01/2008, 22h15

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