Lancer plusieurs serveurs
Fermé
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
-
Modifié par crapoulou le 18/01/2015 à 18:27
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 20 janv. 2015 à 07:10
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 20 janv. 2015 à 07:10
A voir également:
- Lancer plusieurs serveurs
- Lancer une application au démarrage windows 10 - Guide
- Serveurs dns - Guide
- Serveurs emule 2024 - Forum Téléchargement
- Rayan souhaite configurer son logiciel de messagerie de telle manière que ses actions (suppression de courriel, gestion des dossiers, etc.) soient répercutées sur le serveur de messagerie. quels serveurs doit-elle indiquer ? - Forum Yahoo mail
- Serveurs Emule ✓ - Forum Logiciels
3 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
18 janv. 2015 à 18:52
18 janv. 2015 à 18:52
Bonjour,
Tu peux faire des threads pour lancer les clients en parallèle.
Par contre je ne vois pas l'intérêt de lancer plusieurs serveurs en parallèle.
Tu peux faire des threads pour lancer les clients en parallèle.
Par contre je ne vois pas l'intérêt de lancer plusieurs serveurs en parallèle.
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
19 janv. 2015 à 12:34
19 janv. 2015 à 12:34
J'ai essayé ton code mais ça ne fonctionne pas... J'ai mis ce bout de code dans ma méthode main(), et j'ai aussi mis un System.out.println("Test"); pour être sûr que je rentre dans la méthode run() et c'est bien le cas !
Mais dans ma classe Client, j'ai une méthode main(), et le simple fait de déclarer un ovjet de type Client comme ton code le fait devrait permettre de lancer la méthode main() de cette classe Client non ?
Parce que moi ce n'est pas le cas. La méthode main() de la classe Client n'est pas lancée...
Vois-tu pourquoi ?
Mais dans ma classe Client, j'ai une méthode main(), et le simple fait de déclarer un ovjet de type Client comme ton code le fait devrait permettre de lancer la méthode main() de cette classe Client non ?
Parce que moi ce n'est pas le cas. La méthode main() de la classe Client n'est pas lancée...
Vois-tu pourquoi ?
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
19 janv. 2015 à 14:13
19 janv. 2015 à 14:13
Le main est une méthode static, en aucun cas créer un objet Client ne va lancer la méthode main.
Essayes :
Essayes :
public void run() { Client.main(null); }
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
Modifié par KX le 23/01/2015 à 19:37
Modifié par KX le 23/01/2015 à 19:37
Merci ça marche bien mais pour les serveurs seulement. Parce qu'en fait j'aimerais que les clients executent leur code en même temps. Et j'ai utilisé ton bout de code pour faire ça :
Et alors les Clients sont créés, leur méthode s'exécutent, mais les uns après les autres, alors que je voudrais que leur méthodes respectives s'exécutent en même temps.
As-tu une idée pour faire ça ?
Merci d'avance !
new Thread() { public void run() { for(int i=0;i<3;i++) { Clients[i] = new Client(i); String[] args2 = new String[2]; args2[0] = "Toulouse"; args2[1] = "Nantes"; try { Clients[i].main(args2); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }.start();
Et alors les Clients sont créés, leur méthode s'exécutent, mais les uns après les autres, alors que je voudrais que leur méthodes respectives s'exécutent en même temps.
As-tu une idée pour faire ça ?
Merci d'avance !
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
20 janv. 2015 à 07:10
20 janv. 2015 à 07:10
S'exécuter en même temps, c'est ce que font les Thread. Si tu créés 3 threads clients en parallèle, ça fera 3 actions en parallèle.
Remarque : comme je l'ai dit, main est une méthode static, ça ne sert à rien de créer des objets Client pour lancer son main !
Remarque : comme je l'ai dit, main est une méthode static, ça ne sert à rien de créer des objets Client pour lancer son main !
public class Test { public static void main(String[] args) { for (int i=0; i<3; i++) { new Thread() { public void run() { try { String[] args2 = {"Toulouse","Nantes"}; Client.main(args2); catch (Exception e) { e.printStackTrace(); } } }.start(); } } }
18 janv. 2015 à 21:32
et bien je dois lancer des serveurs différents parce qu'ils ont chacun leur calcul à effectuer et ne renvoient pas la même chose.
Et par contre, utiliser des threads pour lancer les clients en parallèle, comment écris-tu ça en java exactement ?
18 janv. 2015 à 21:39