+ protected boolean UDPSend(NetworkMessage message) {
+ boolean result = false;
+
+ if (message != null) {
+ InetSocketAddress address = this._multicastServer.getTargetAddress(message.getTarget());
+ if (address != null) {
+ message.setSender("ServerManagement");
+ try {
+ byte[] dataSend = NetworkMessage.serialize(message);
+ DatagramPacket packetSend = new DatagramPacket(dataSend, dataSend.length);
+ // set target's remote host address and port
+ packetSend.setAddress(address.getAddress());
+ packetSend.setPort(address.getPort());
+
+ DatagramSocket socket = new DatagramSocket();
+ // acknowledge receipt
+ socket.send(packetSend);
+ System.err.println(MessageFormat.format("Sending packet for {0} to {1} ({3}:{4}) from {2}", message.getIntent(), message.getTarget(), message.getSender(), packetSend.getAddress().getHostAddress(), packetSend.getPort()));
+
+ result = true; // successful
+ } catch (IOException e) {
+ // TODO: serverSend() add IOException handler
+ e.printStackTrace();
+ }
+ }
+ }
+ return result;
+ }
+