cs_marilou
Messages postés26Date d'inscriptiondimanche 13 février 2005StatutMembreDernière intervention30 janvier 2007
-
28 janv. 2007 à 21:22
cs_marilou
Messages postés26Date d'inscriptiondimanche 13 février 2005StatutMembreDernière intervention30 janvier 2007
-
30 janv. 2007 à 01:58
Salut,
je voudrais répéter un échnage de donnée sur un réseau toutes les secondes. Mon serveur demande des infos à ses clients chaque seconde, chaque client répond et le serveur redistribue ce qu'il a reçu. Mais mon timer ne tourne qu'une fois.
//mes initialisations...
public Serveur() {
try{
ecoute = new ServerSocket(PORT);
t = new Timer();
}
catch(IOException e){
e.getMessage();
}
this.start();
}
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 29 janv. 2007 à 17:14
Salut,
pour l'appli en ligne de commande tu fais java -Xmx128m AppliJava (ou plus par défaut c'est 64m il me semble) pour eclipse tu vas dans la configuration du run de l'application esuite sur l'onglet "Arguments" puis tu mets -Xmx128m dans la zone de texte "VM arguments :"
sinon si tu veux résoudre le prob de mémoire tu peux envoyer le code que l'on regarde de plus pres le pourquoi
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 28 janv. 2007 à 23:32
Salut,
sinon si tu veux plus de souplesse sur ton timer (restart, stop et start indéfini) tu peux aussi utiliser la classe javax.swing.Timer mais bon apres ça dépends de ce que tu en fais... sinon pour la réponse pas mieux que [auteurdetail.aspx?ID=674615 Ar0z] et surtout pour arreter ton thread n'utilise pas stop cette méthode est deprecated. autre chose je vois que tu fais ioe.getMessage(); fais plutot System.err.println("Erreur " +
ioe.getMessage()); sinon tu n'est pas pres de voir quelque chose vu que getMessage retourne un string autre solution pour voir l'arbe d'exception serait de faire ioe.printStackTrace();
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
cs_marilou
Messages postés26Date d'inscriptiondimanche 13 février 2005StatutMembreDernière intervention30 janvier 2007 28 janv. 2007 à 23:40
merci mais ça ne fonctione pas. Avec cette soultion je devrais avoir plusieurs fois l'affichage de System.out.println("Client "+client.getLocalSocketAddress()+" connecté. ");
mais je ne l'ai qu'une fois. Pareil pour les
System.out.println qui sont dans EchangesDonnées.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 29 janv. 2007 à 10:34
Salut,
c'est pas normal ton prob normalement ton code devrai matcher.... juste une question quand tu dis "mais je ne l'ai qu'une fois" tu fais bien le teste avec plusieurs client qui se connectes au serveur ? je dis ça par ce que la méthode accept est bloquante et ne se relachera pas avant un nouveau client....
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
cs_marilou
Messages postés26Date d'inscriptiondimanche 13 février 2005StatutMembreDernière intervention30 janvier 2007 29 janv. 2007 à 16:02
effectivement je navais qu'un client, maintenant j'en ai plusieurs mais j'ai l'erreur suivante:
Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space
Apparemment il faut plus de mémoire mais mon programme n'est pas très lourd donc je ne comprends pas...
cs_marilou
Messages postés26Date d'inscriptiondimanche 13 février 2005StatutMembreDernière intervention30 janvier 2007 29 janv. 2007 à 16:59
je nai pas de méthode récursive donc j'ai essayé d'augmenter la mémoire apparemment je n'ai pas la bonne méthode, ça marche pas. j'utilise eclipse est-ce-qu'il permet de faire cela ?