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;
switch (header.getType()) {
case ACK:
/*case ACK:
counter = new Pair<>(
((PacketBody6Ack)packet.getBody()).getPacketId(),
remoteSendCounter.get(PacketBodyType.ACK).getGeneration(
@@ -374,7 +374,7 @@ public abstract class AbstractTeamspeakClientSocket
((PacketBody5Pong) packet.getBody()).getPacketId()
)
);
break;
break;*/
case INIT1:
counter = new Pair<>(101, 0);
break;
@@ -189,7 +189,7 @@ public class LocalTeamspeakClientSocket
header.read(buffer);
Ts3Debugging.debug("[NETWORK] READ" +
Ts3Debugging.debug("[NETWORK] READ " + header.getType() +
" id=" + header.getPacketId() +
" len=" + packet.getLength() +
" from " + packet.getSocketAddress());
@@ -214,10 +214,10 @@ public class LocalTeamspeakClientSocket
else if (remote == null)
throw new IOException(new NullPointerException("remote"));
Ts3Debugging.debug("[NETWORK] WRITE id=" + packet.getHeader().getPacketId() + " len=" +
packet.getDatagram().getLength()
+ " to " +
remote.toString());
Ts3Debugging.debug("[NETWORK] WRITE " + packet.getHeader().getType() +
" id=" + packet.getHeader().getPacketId() +
" len=" + packet.getDatagram().getLength() +
" to " + remote.toString());
packet.getDatagram().setSocketAddress(remote);
@@ -149,9 +149,16 @@ public class ServerConnectionTest {
client.subscribeAll();
client.listClients();
Thread.sleep(10000L);
try {
while (client.isConnected()) {
for (Client c : client.listClients()) {
client.getClientInfo(c.getId());
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}