begin process at 2012 02 14 10:10:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Timer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Timer

dimanche 28 janvier 2007 à 21:22:57 | Timer

marilou

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();
    }
   
    public void run(){       

        try{
            client = ecoute.accept();
        }catch(IOException ioe){
            ioe.getMessage();
        }
        System.out.println("Client "+client.getLocalSocketAddress()+" connecté. ");
        t.schedule(new EchangesDonnées(client),0,1000);
       
    }

La classe EchangesDonnées (comme le dit son nom) reçoit et envoie les données entre le client et le serveur.
Merci de votre aide...
dimanche 28 janvier 2007 à 23:15:35 | Re : Timer

Ar0z

Une bonne vieille boucle infinie et çà marchera :

public void run(){       
    while(true){
        try{
            client = ecoute.accept();
            System.out.println("Client "+client.getLocalSocketAddress()+" connecté. ");
            t.schedule(new EchangesDonnées(client),0,1000);

        }catch(IOException ioe){
            ioe.getMessage();
        }

    }
}

Par ailleurs, pour terminer le Thread, je conseillerais de le stopper de l'interieur en trouvant une condition de sortie pour le while
(le Thread s'autodétruit dès la fin de l'execution du code contenu dans run()) plutot que d'appeller la méthode stop() sur ce thread.
dimanche 28 janvier 2007 à 23:32:16 | Re : Timer

Twinuts

Membre Club Administrateur CodeS-SourceS
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 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 ..."

WORA
dimanche 28 janvier 2007 à 23:40:49 | Re : Timer

marilou

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.
dimanche 28 janvier 2007 à 23:55:15 | Re : Timer

Ar0z

Vérifie si tu arrives bien à la fin de l'execution du code contenu dans le constructeur de EchangesDonnees.
lundi 29 janvier 2007 à 03:35:50 | Re : Timer

marilou

oui oui je vais jusqu'au bout du constructeur.
lundi 29 janvier 2007 à 10:34:56 | Re : Timer

Twinuts

Membre Club Administrateur CodeS-SourceS
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 ..."

WORA
lundi 29 janvier 2007 à 16:02:37 | Re : Timer

marilou

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...

lundi 29 janvier 2007 à 16:34:06 | Re : Timer

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

cela dépend de ce que tu fais dedans (attention au méthodes récursive dedans) sinon execute l'application en augmentant la mémoire

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
lundi 29 janvier 2007 à 16:59:37 | Re : Timer

marilou

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 ?

1 2

Cette discussion est classée dans : timer, public, serveur, client, try


Répondre à ce message

Sujets en rapport avec ce message

Serveur multiple qui redistribue les données à TOUT ses clients... [ par Hellway ] Voilà, mon problème est assez compliqué et je n'ai trouvé en aucun endroit de la toile réponse à ma question. Je tente donc le coup ici.Je bosse actue Thread et ThreadGroup comment les fermer ? [ par Omeda ] Bonjour tout le monde, Je suis actuellement entrain de faire une application client/serveur cependant je rencontre quelques difficultés avec les threa socket [ par tatoufa ] je suis debutantes en java je veut faire une socket java qui envoi un msg entre 1 client et 1 serveur j'ai le code : code client import java.io.*; Programmation Réseaux en JAVA [ par resjava ] Bonjour tout le monde, Désolé j'ai oublié de poser ma question, j'ai essay de me familiariser avec la programmation Réseaux en Java, pour cela j'ai programmation réseau "client/serveur" [ par sana83 ] je suis debutante en programmation réseau je veut faire un programme qui envoi des messages entre 1 client et 1 serveur j'ai le code : [b]code clien transfert de fichier [ par sfpirate ] bonjour à tous , voila je suis debutant en java. j'ai un big probleme et je suis bloqué : je veux faire un transfert de fichier d'un client vers un s transfert fichier [ par sfpirate ] bonjour à tous , voila je suis debutant en java. j'ai un big probleme et je suis bloqué : je veux faire un transfert de fichier d'un client vers un s probleme sur un projet java [ par mimmiz ] bonjour je dois rentre un projet java et je galère un peu(je n'ai que 1mois et demi de java derrière moi) ma class client a l'air de fonctionner du mo programme simple client serveur avec les sockets [ par mimi87uk ] Bonjour, j'ai programmer une socket serveur et une cliente, apres quand je compil je vois ce resultat C:\Users\Nas\Desktop\TPJAVA>javac Serveur.ja


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,805 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales