Bonjour,
Je débute en java, plus par nécessite que par plaisir mais ce n'est pas inintéressant au final
J'ai un projet au lycée de supervision d'un système via Ethernet/wifi. (pour info PIC + ENC28J60)
Je le piloterai avec un programme java avec des datagrammes udp. (un nombre de 0 à 99 me suffira amplement pour communiqué d'où la limitation à 2 bytes en réception)
Mon début de programme :
Mon problème : bien que la console recoit la valeur "00", il me marque "pas ok".
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.net.*; import java.io.*; public class udp { static int port=2011; // Le port UDP de destination static int port2=2010; // Le port UDP local static InetAddress adr=null; static DatagramSocket sock=null; static String message="Test"; static byte[] tampon=new byte[message.length()]; static boolean send(String message) throws IOException{ adr=InetAddress.getByName("127.0.0.1"); tampon=message.getBytes(); DatagramPacket paquet=new DatagramPacket(tampon,tampon.length,adr,port); sock=new DatagramSocket(); sock.send(paquet); return true; } static String receive() throws IOException{ tampon=new byte[2]; String message2; DatagramSocket sock=new DatagramSocket(port2); DatagramPacket paquet=new DatagramPacket(tampon,tampon.length); sock.receive(paquet); message2=new String(tampon); System.out.println(message2); return message2; } public static void main(String[] args) throws IOException, SocketException { send("00"); if(receive()=="00") System.out.println("ok"); else System.out.println("pas ok"); } }
Pourriez vous m'aider ?
Merci d'avance !
Partager