java/com.sap.sailing.expeditionconnector/src/com/sap/sailing/expeditionconnector/UDPMirror.java
... ...
@@ -30,25 +30,26 @@ public class UDPMirror {
30 30
}
31 31
int listeningOnPort = Integer.valueOf(args[c++]);
32 32
byte[] buf = new byte[65536];
33
- DatagramSocket udpSocket = new DatagramSocket(listeningOnPort);
34
- DatagramPacket received = new DatagramPacket(buf, buf.length);
35
- DatagramSocket[] sendingSockets = new DatagramSocket[(args.length - 1) / 2];
36
- DatagramPacket[] mirroredPackets = new DatagramPacket[(args.length - 1) / 2];
37
- while (c < args.length - 1) {
38
- sendingSockets[(c - 1) / 2] = new DatagramSocket();
39
- mirroredPackets[(c - 1) / 2] = new DatagramPacket(buf, buf.length, InetAddress.getByName(args[c]),
40
- Integer.valueOf(args[c + 1]));
41
- c += 2;
42
- }
43
- while (true) {
44
- udpSocket.receive(received);
45
- if (verbose) {
46
- String packetAsString = new String(received.getData(), received.getOffset(), received.getLength()).trim();
47
- System.out.println(packetAsString);
33
+ try (DatagramSocket udpSocket = new DatagramSocket(listeningOnPort)) {
34
+ DatagramPacket received = new DatagramPacket(buf, buf.length);
35
+ DatagramSocket[] sendingSockets = new DatagramSocket[(args.length - 1) / 2];
36
+ DatagramPacket[] mirroredPackets = new DatagramPacket[(args.length - 1) / 2];
37
+ while (c < args.length - 1) {
38
+ sendingSockets[(c - 1) / 2] = new DatagramSocket();
39
+ mirroredPackets[(c - 1) / 2] = new DatagramPacket(buf, buf.length, InetAddress.getByName(args[c]),
40
+ Integer.valueOf(args[c + 1]));
41
+ c += 2;
48 42
}
49
- for (int i = 0; i < mirroredPackets.length; i++) {
50
- mirroredPackets[i].setLength(received.getLength());
51
- sendingSockets[i].send(mirroredPackets[i]);
43
+ while (true) {
44
+ udpSocket.receive(received);
45
+ if (verbose) {
46
+ String packetAsString = new String(received.getData(), received.getOffset(), received.getLength()).trim();
47
+ System.out.println(packetAsString);
48
+ }
49
+ for (int i = 0; i < mirroredPackets.length; i++) {
50
+ mirroredPackets[i].setLength(received.getLength());
51
+ sendingSockets[i].send(mirroredPackets[i]);
52
+ }
52 53
}
53 54
}
54 55
}