Bonjour à tous,
J'ai récupéré un vieux programme Java Client/Serveur que j'avais fait quand j'étais étudiant et qui ne fonctionnait pas.
J'ai donc essayé de le faire marcher et jusqu'à maintenant, tout se passait bien, aucun problème au niveau de la connexion. Ensuite, j'ai essayé de lancer certaines opérations à partir du serveur afin qu'elles soient réalisées par le client. La aussi je n'ai pas eu de soucis, sauf pour l'une d'elle..
En effet, j'essaie de lancer une recherche sur internet via la machine du client, sauf que rien ne se lance.. Pire même, le programme s'arrête alors qu'il est censé être dans une boucle. Je vous met le code :
Client :
Je vous met les résultats dans la console :
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 o=10;<br>while (o != 0) { /*je réalise différentes opérations en fonction de la valeur du o */ o = is.read(); .... if (o == 4 || o == 5 || o == 6) { System.out.println("ça passe"); byte[] reception2 = new byte[1000]; is.read(reception2); /*je récupère ma recherche */ String texte2 = new String(reception2); System.out.println(texte2); final Desktop d = Desktop.getDesktop(); System.out.println("ça passe 2"); d.browse(new URI(texte2)); System.out.println("ça passe 3"); }
Et à ce moment la, le programme s'arrête sans que "o" ne vaille 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4ça passe la recherche ça passe 2
Je précise aussi qu'aucune erreur n'apparaît dans la console, ce qui aurait éventuellement pu m'aider.
On bloque donc sur la commande :
1
d.browse(new URI(texte2));
Sans que rien ne se lance.
Je vous met maintenant le code du côté du serveur :
Serveur:
Comme vous pouvez le voir, je test la même commande (actuellement en commentaire) quand je suis côté serveur et pour le coup, elle marche !
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 while (i != 0) { ... if (ii.equals("6")) { i = 6; os.write(i); /* J'envoie la commande à réaliser au client */ System.out.println("Ecrire la recherche:"); final String recherche; final String recherche = keyboard.readLine(); byte[] message3 = new byte[recherche.length()]; message3 = recherche.getBytes(); os.write(message3); /*J'envoie le message */ /*final Desktop d = Desktop.getDesktop(); d.browse(new URI(recherche));*/ } ... }
Du coup, j'arrive pas à comprendre quel est le problème sachant que toutes autres opérations fonctionnent plutôt bien.
Si vous avez une solution, je suis preneur !
Merci d'avance
Partager