Bonsoir,
j'essaye désespérément d’écrire sur un port COM des données reçu via un port UDP.
Code UDPClass COM
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 import java.net.DatagramPacket; import java.net.DatagramSocket; public class UDPReceive { public static void main(String args[]) throws Exception { UtilisationFlux toto = new UtilisationFlux(); try { int port = 6020; DatagramSocket dsocket = new DatagramSocket(port); byte[] buffer = new byte[2048]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); while (true) { dsocket.receive(packet); String msg = new String(buffer, 0, packet.getLength()); // System.out.println(packet.getAddress().getHostName() + ": " // + msg); toto.essai(msg); packet.setLength(buffer.length); } } catch (Exception e) { System.err.println(e); } } }Et J'obtiens ca comme erreur:
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
40
41
42
43
44
45 import javax.comm.*; import java.io.OutputStream; import java.util.Enumeration; public class UtilisationFlux { static Enumeration ports; static CommPortIdentifier pID; static OutputStream outStream; SerialPort serPort; public UtilisationFlux() throws Exception { serPort = (SerialPort)pID.open("PortWriter",100); outStream = serPort.getOutputStream(); serPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); } /** * @param args the command line arguments */ public void essai(String message) throws Exception{ ports = CommPortIdentifier.getPortIdentifiers(); while(ports.hasMoreElements()) { pID = (CommPortIdentifier)ports.nextElement(); System.out.println("Port " + pID.getName()); if (pID.getPortType() == CommPortIdentifier.PORT_SERIAL) { if (pID.getName().equals("COM1")) { UtilisationFlux pWriter = new UtilisationFlux(); System.out.println("COM1 found"); } } } outStream.write(message.getBytes()); serPort.close(); } }soit les lignes :Exception in thread "main" java.lang.NullPointerException
at modeevenement.UtilisationFlux.<init>(UtilisationFlux.java:27)
at modeevenement.UDPReceive.main(UDPReceive.java:14)
Java Result: 1
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part serPort = (SerialPort)pID.open("PortWriter",100);
Si quelqu'un a une idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UtilisationFlux toto = new UtilisationFlux();![]()
Partager