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:
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
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(); } }
Merci de votre aide
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); } } }
Partager