Bonjour je ne trouvais pas de rubrique ou poster, alors je poste ici.
Je viens de debuter dans la programmation reseau, et j'ai fait mes premiers sockets(client/serveur) via un protocole UDP.
Mais ca ne marche pas. Les 2sont sur la meme machine sa vient peut etre de la. Voici les codes:

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
import java.net.*;
import java.io.*;
 
 
public class serveurUDP {
 
	static int taille = 1024;
	static byte[] tampon = new byte[taille];
	static int port = 9332;
 
	public static void main(String[] args)throws Exception {
		DatagramSocket socket = new DatagramSocket(port);
		String donne = "";
		String message = "";
		taille = 0;
		System.out.println("serveur initialisé");
		while(true) {
		DatagramPacket paquet = new DatagramPacket(tampon, tampon.length);
		socket.receive(paquet);
		System.out.println("paquet recu de la part de: "+ paquet.getAddress());
		taille = paquet.getLength();
		 donne = new String(paquet.getData(),0, taille);
		message = "bonjour"+donne;
		System.out.println("les données qui seront envoyées sont: "+ message);
		DatagramPacket envoie = new DatagramPacket(message.getBytes(), message.length(), paquet.getAddress(), paquet.getPort());
		socket.send(envoie);
		}
 
	}
 
}
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
import java.net.*;
 
public class client {
 
	static int port = 9332;
	static int taille = 1024;
	static byte[] tampon = new byte[taille];
 
	public static void main(String[] args)throws Exception {
		InetAddress serveur = InetAddress.getLocalHost();
		DatagramSocket socket = new DatagramSocket(port);
		String message = "yoann";
		DatagramPacket donneEnvoye = new DatagramPacket(message.getBytes(), message.length(), serveur, port);
		socket.send(donneEnvoye);
		DatagramPacket donneRecu = new DatagramPacket(tampon, tampon.length);
		socket.receive(donneRecu);
		String texte = new String(donneRecu.getData(), 0, tampon.length);
		System.out.println(texte);
 
	}
 
}
et messages d'erreur:
Exception in thread "main" java.net.BindException: Address already in use: Cannot bind
at java.net.PlainDatagramSocketImpl.bind0(Native Method)
at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:82)
at java.net.DatagramSocket.bind(DatagramSocket.java:368)
at java.net.DatagramSocket.<init>(DatagramSocket.java:210)
at java.net.DatagramSocket.<init>(DatagramSocket.java:261)
at java.net.DatagramSocket.<init>(DatagramSocket.java:234)
at serveurUDP.main(serveurUDP.java:12)


Comme vous pouvez le voir, c'est un truc tout con et tres basique, mais bon je debute.