diff --git a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java index 6d3c114..84d6159 100644 --- a/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java +++ b/src/main/java/com/github/manevolent/ts3j/protocol/socket/client/AbstractTeamspeakClientSocket.java @@ -866,12 +866,19 @@ public abstract class AbstractTeamspeakClientSocket while (isReading()) { try { readQueue.put(readPacket()); - } catch (Exception e) { + } catch (Throwable e) { if (e instanceof InterruptedException) continue; - Ts3Debugging.debug("Problem reading packet", e); + e.printStackTrace(); + + break; } } + + try { + setState(ClientConnectionState.DISCONNECTED); + } catch (Throwable e1) { + } } } diff --git a/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java b/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java index e327f15..dd5d5ac 100644 --- a/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java +++ b/src/test/java/com/github/manevolent/ts3j/ServerConnectionTest.java @@ -151,7 +151,7 @@ public class ServerConnectionTest { client.subscribeAll(); - client.waitForState(ClientConnectionState.DISCONNECTED, 10000L); + client.waitForState(ClientConnectionState.DISCONNECTED, 100000000L); } catch (Throwable ex) { ex.printStackTrace(); }