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

Servlets/JSP Java Discussion :

java.net.ConnectException (servlet)


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 43
    Par défaut java.net.ConnectException (servlet)
    Bonjour a tous,

    J'ai pu commencer à m'y mettre avec les servlet, mais j'ai eu une exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.net.ConnectException: Connection timed out: connect
    et ça bloque au niveau de et dans ce tuto j'ai vu que l'URL peut ne pas supporter la sortie:

    http://docs.oracle.com/javase/tutori...ngWriting.html

    - est ce que on peut remplacer OutputStreamWriter par une autre ligne de commande???
    - comment je peux gérer cette exception

    Je veux signaler que le programme qui établie la connexion est chargé dans le serveur Tahiti

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 43
    Par défaut java.net.ConnectException
    aucune idée???

  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 : 45
    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
    Attends, je sort ma boule de crystal et j'essaie de deviner quel est le code de ta servlet, quelle est la stacktrace de l'exception et dans quelles conditions ça se produit.

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 43
    Par défaut


    le programme de ma servlet est:
    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
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
            try {
                int length = request.getContentLength();
                byte[] input = new byte[length];
                ServletInputStream sin = request.getInputStream();
                int c, count = 0 ;
                while ((c = sin.read(input, count, input.length-count)) != -1) {
                    count +=c;
                }
                sin.close();
     
                String recievedString = new String(input);
                response.setStatus(HttpServletResponse.SC_OK);
                OutputStreamWriter writer = new OutputStreamWriter(response.getOutputStream());
     
                Integer doubledValue = Integer.parseInt(recievedString) * 2;
     
                writer.write(doubledValue.toString());
                writer.flush();
                writer.close();
     
            } catch (IOException e) {
     
     
                try{
                    response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
                    response.getWriter().print(e.getMessage());
                    response.getWriter().close();
                } catch (IOException ioe) {
                }
            }
    le code du programme qui invoque la servlet est:
    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
    public class Aglet2 extends Aglet {
    	Integer doubledValue=0;
    	String inputValue=null;
    	public void OnCreation (Object init){
    	//	System.out.println("Agent created"+init);
    }
     
    	public void run(){
    		System.out.println("Agent running");
    		try{
    		URL url = new URL("http://10.0.2.2:8080/MyServletProject/DoubleMeServlet");
                    URLConnection connection = url.openConnection();
     
     
    		connection.setDoOutput(true);
     
            OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());/// mon souci se trouve iciii le programme ce bloque
            out.write("4");
            out.close();
     
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
     
            String returnString="";
            doubledValue =0;
     
            while ((returnString = in.readLine()) != null)
            {
                doubledValue= Integer.parseInt(returnString);
                System.out.println(doubledValue);
            }
            in.close();
     
            }catch(Exception e)
            {
            	System.out.println(e);
            }
    }
    et comme erreur j'ai que cette ligne c'est tout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.net.ConnectException: Connection timed out: connect
    quand je lance le programme tout va bien au début, et après un moment il se bloque et j'obtiens ce message, j'ai fait des testes et j'ai trouvé que ça se bloque au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());

  5. #5
    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 : 45
    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
    Tu dis que ça fonctionne un certain temps, puis ça ne marche plus. Quand tu dis que ça fonctionne, tu obtiens bien une réponse de la servlet? Tu sort bien de ton run dans ton aglet? Parce que, à mon avis, t'as une chiée d'aglet qui attendent une réponse de la servelt, la servlet qui attends des messages de l'Aglet et, au bout d'un certains temps, vu le nombre de requetes en attente, le serveur J2EE commence à refuser les connexions.


    Quelques remarque:

    1) rajoute des messages pour confirmer que ton Aglet et ta servlet tournent bien.
    2) évite les System.out.println(exception), préfère les appels exceptin.printStacktrace(), qui sont bien plus verbeux
    3) le catch vide, c'est le mal, affiche quelque chose dedans
    4) il n'est pas de la responsabilité de la servlet de cloturer les Stream de la requête, c'est de la responsabilité du conteneur, donc les sin.close() => dehors.

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 43
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Tu dis que ça fonctionne un certain temps, puis ça ne marche plus. Quand tu dis que ça fonctionne, tu obtiens bien une réponse de la servlet? Tu sort bien de ton run dans ton aglet? Parce que, à mon avis, t'as une chiée d'aglet qui attendent une réponse de la servelt, la servlet qui attends des messages de l'Aglet et, au bout d'un certains temps, vu le nombre de requetes en attente, le serveur J2EE commence à refuser les connexions.


    Quelques remarque:

    1) rajoute des messages pour confirmer que ton Aglet et ta servlet tournent bien.
    2) évite les System.out.println(exception), préfère les appels exceptin.printStacktrace(), qui sont bien plus verbeux
    3) le catch vide, c'est le mal, affiche quelque chose dedans
    4) il n'est pas de la responsabilité de la servlet de cloturer les Stream de la requête, c'est de la responsabilité du conteneur, donc les sin.close() => dehors.
    voilà c'est exactement le cas l'aglet attend et la servlet attend !!!!!!
    je suis désolé peut être je suis pas très claire mais aucune requête ne passe dès le debut ça bloque c'est à dire je ne sort pas du run de l'aglet, ça fonctionne qu'au niveau de la connexion c'est tout, la connexion est exécutée super bien. c'est pour ça que j'ai dis que ça fonctionne je veux dire les premières lignes du programme.
    désolé une autre fois.

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

Discussions similaires

  1. Client-serveur : java.net.ConnectException
    Par adrien1 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 25/11/2009, 18h59
  2. java.net.ConnectException: Connection timed out: connect
    Par FrenchFrogger dans le forum Services Web
    Réponses: 1
    Dernier message: 10/02/2009, 14h38
  3. Réponses: 2
    Dernier message: 26/02/2008, 15h08
  4. Réponses: 2
    Dernier message: 18/07/2007, 19h26
  5. Erreur java.net. ConnectException:
    Par kenny49 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/02/2007, 10h08

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