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

Entrée/Sortie Java Discussion :

Problème de compilation avec un client et un serveur


Sujet :

Entrée/Sortie Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 288
    Par défaut Problème de compilation avec un client et un serveur
    J'ai fait deux programmes un client et un serveur en UDP. Lorsque je compile j'ai une erreur de type java.lang.NoDefClasseFoundError pour les deux programmes. Je fais la compilation en ligne de commandes sur le DOS.Je me place bien dans le repertoire ou se trouve le fichier.java et le fichier.class est bien généré.
    Voici les deux programmes:

    Client:
    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
    38
    39
     
     
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
     
    public class Client {
     
    	private static final int BUF_SIZE = 1024;
    	//private static final int ECHO_PORT = 1600;
     
    	public static void main(String[] args) throws IOException {
     
     
    		byte[] msg=args[2].getBytes("ASCII");//("ASCII");
    		byte receivebuf[]= new byte[BUF_SIZE];	
    		//InetAddress serveur=InetAddress.getLocalHost();
     
    		DatagramSocket so= new DatagramSocket();//creation du datagramme socket
     
    		DatagramPacket paquet= new DatagramPacket(msg,0,msg.length,InetAddress.getByName(args[0]), Integer.parseInt(args[1]));
    		/*creation du datgramme pacquet arrguments:
    		 *  msg, msg.length, InetAdress.getByName(args[0], Integer.parseInt(args[1])
    		*/
     
    		System.out.println("socket attachee " + paquet.getPort());
    		System.out.println("socket attachee " + so.getLocalPort());
    		so.send(paquet);
    		paquet.setData(receivebuf);
    		so.receive(paquet);
    		String s= new String(receivebuf,0,paquet.getLength(),"ASCII");
    		System.out.println(s);
    		so.close();
     
    	}
     
     
    }
    Le Serveur:
    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
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    public class Serveur {
     
     
    	private static final int BUF_SIZE = 1024;
    	//private static final int ECHO_PORT = 1600;
     
    	public static void main(String[] args) throws IOException {
    		// TODO Auto-generated method stub
     
    		//byte[] msg=args[1].getBytes("UTF-8");//
    	    byte msg[]= new byte[BUF_SIZE];	
     
    	//	InetAddress client=InetAddress.getLocalHost();
    	//	DatagramPacket paquet= new DatagramPacket(msg,0,msg.length);
    	    DatagramSocket so= new DatagramSocket(Integer.parseInt(args[0]));
    	    DatagramPacket paquet= new DatagramPacket(msg, 0,msg.length);
     
    		while(true){
    		so.receive(paquet);
    		String s= new String(msg,0,paquet.getLength());
    		byte[] renvoi=s.toUpperCase().getBytes("ASCII");
    		//byte[] renvoi= new String()
    		paquet.setData(renvoi);
    		so.send(paquet);
    		paquet.setData(msg);
     
    		}
     
    	}
     
    }
    Merci de votre aide
    Merci de lire les règles du forum et surtout celle là Message clair et précis.
    Evitons les ctrl c ctrl v => Ne sortons pas les codes de leur contexte sinon ça ne marche pas.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Ah, c'est balot !! Ca compile parfaitement chez moi !!

    T'as bien défini la variable d'environnement JAVA_HOME ? Faut la faire pointer vers la racine de ton JDK (D:\JDK\j2sdk1.4.2_11\ dans mon cas)?

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 288
    Par défaut
    Je n'ai pas le repertoire JDK chez moi. J'ai plutot jre, jdk et j2re. En plus, dans le jdk, je n'ai pas j2sdk. Dites moi comment faire alors. Merci bien
    Merci de lire les règles du forum et surtout celle là Message clair et précis.
    Evitons les ctrl c ctrl v => Ne sortons pas les codes de leur contexte sinon ça ne marche pas.

  4. #4
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    bonjours tu clicket sur le boutton droit sur le poste de travail tu choisit l'onglet avance ensuite tu clicke sur le boutton variable d'environnement et tu choisie du liste roulante la variable path et tu clicke ur modifie et tu ajoute le path du bin de ton jdk exemple c:\jdk1.5\bin

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

Discussions similaires

  1. Problème de compilation avec Borland : Direct Draw
    Par Burckel dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 26/09/2005, 18h17
  2. Problème de compilation avec Direct Input
    Par di-giac dans le forum DirectX
    Réponses: 6
    Dernier message: 06/05/2005, 18h19
  3. [MFC] Problème de compilation avec afxctl.h
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 15/06/2004, 13h51
  4. Problème de compilation avec Dev-C++
    Par Rouliann dans le forum Dev-C++
    Réponses: 14
    Dernier message: 14/06/2004, 18h44
  5. Réponses: 1
    Dernier message: 29/10/2003, 12h16

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