Still getting random connection losses. I think it may have to do with the way I set up ACK, ACK_LOW, and PING commands.

This commit is contained in:
Manevolent
2018-08-13 18:18:49 -04:00
parent f041820020
commit e4e1b5b4fe
3 changed files with 91 additions and 84 deletions
@@ -351,7 +351,7 @@ public abstract class AbstractTeamspeakClientSocket
Pair<Integer, Integer> counter; Pair<Integer, Integer> counter;
switch (header.getType()) { switch (header.getType()) {
case ACK: /*case ACK:
counter = new Pair<>( counter = new Pair<>(
((PacketBody6Ack)packet.getBody()).getPacketId(), ((PacketBody6Ack)packet.getBody()).getPacketId(),
remoteSendCounter.get(PacketBodyType.ACK).getGeneration( remoteSendCounter.get(PacketBodyType.ACK).getGeneration(
@@ -374,7 +374,7 @@ public abstract class AbstractTeamspeakClientSocket
((PacketBody5Pong) packet.getBody()).getPacketId() ((PacketBody5Pong) packet.getBody()).getPacketId()
) )
); );
break; break;*/
case INIT1: case INIT1:
counter = new Pair<>(101, 0); counter = new Pair<>(101, 0);
break; break;
@@ -189,7 +189,7 @@ public class LocalTeamspeakClientSocket
header.read(buffer); header.read(buffer);
Ts3Debugging.debug("[NETWORK] READ" + Ts3Debugging.debug("[NETWORK] READ " + header.getType() +
" id=" + header.getPacketId() + " id=" + header.getPacketId() +
" len=" + packet.getLength() + " len=" + packet.getLength() +
" from " + packet.getSocketAddress()); " from " + packet.getSocketAddress());
@@ -214,10 +214,10 @@ public class LocalTeamspeakClientSocket
else if (remote == null) else if (remote == null)
throw new IOException(new NullPointerException("remote")); throw new IOException(new NullPointerException("remote"));
Ts3Debugging.debug("[NETWORK] WRITE id=" + packet.getHeader().getPacketId() + " len=" + Ts3Debugging.debug("[NETWORK] WRITE " + packet.getHeader().getType() +
packet.getDatagram().getLength() " id=" + packet.getHeader().getPacketId() +
+ " to " + " len=" + packet.getDatagram().getLength() +
remote.toString()); " to " + remote.toString());
packet.getDatagram().setSocketAddress(remote); packet.getDatagram().setSocketAddress(remote);
@@ -149,9 +149,16 @@ public class ServerConnectionTest {
client.subscribeAll(); client.subscribeAll();
client.listClients(); try {
Thread.sleep(10000L); while (client.isConnected()) {
for (Client c : client.listClients()) {
client.getClientInfo(c.getId());
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
} }
} }