diff --git a/pom.xml b/pom.xml index 06bbb9c..e5e2093 100644 --- a/pom.xml +++ b/pom.xml @@ -13,8 +13,8 @@ 11 UTF-8 UTF-8 - 11 - 11 + @@ -48,6 +48,15 @@ + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + + + + org.codehaus.mojo exec-maven-plugin 3.0.0 diff --git a/src/main/java/info/istlab/ServerTester/JTAConsole.java b/src/main/java/info/istlab/ServerTester/JTAConsole.java index d1beefc..eaf2e05 100644 --- a/src/main/java/info/istlab/ServerTester/JTAConsole.java +++ b/src/main/java/info/istlab/ServerTester/JTAConsole.java @@ -156,6 +156,7 @@ @Override public void windowClosing(WindowEvent e) { + requestFocus(); destroyProcess(); winStack.remove(this); diff --git a/src/main/java/info/istlab/ServerTester/MulticastReceiver.java b/src/main/java/info/istlab/ServerTester/MulticastReceiver.java index d922a70..175ac26 100644 --- a/src/main/java/info/istlab/ServerTester/MulticastReceiver.java +++ b/src/main/java/info/istlab/ServerTester/MulticastReceiver.java @@ -5,6 +5,7 @@ import java.net.InetSocketAddress; import java.net.StandardProtocolFamily; import java.nio.ByteBuffer; +import java.nio.channels.AsynchronousCloseException; import java.nio.channels.DatagramChannel; import java.util.Hashtable; @@ -47,6 +48,9 @@ InetSocketAddress senderAddr = null; try { senderAddr = (InetSocketAddress) channel.receive(buffer); + } catch(AsynchronousCloseException ace){ + thread = null; + break; } catch (IOException e) { e.printStackTrace(); } @@ -55,6 +59,10 @@ byte[] data = new byte[buffer.remaining()]; buffer.get(data); String message = new String(data); + if (senderAddr == null) { + thread = null; + break; + } String addr = senderAddr.getAddress().getHostAddress(); receivedData.put(addr, message);