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:
+2
-2
@@ -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;
|
||||
|
||||
+5
-5
@@ -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);
|
||||
|
||||
|
||||
@@ -28,130 +28,137 @@ public class ServerConnectionTest {
|
||||
|
||||
identity.improveSecurity(10);
|
||||
|
||||
client.setIdentity(identity);
|
||||
client.setIdentity(identity);
|
||||
|
||||
client.setNickname("Hello from Java");
|
||||
client.setNickname("Hello from Java");
|
||||
|
||||
client.setOption("client.hwid", "JAVAJAVAJAVA");
|
||||
client.setOption("client.hwid", "JAVAJAVAJAVA");
|
||||
|
||||
client.connect(
|
||||
new InetSocketAddress(
|
||||
"ts.teamlixo.net",
|
||||
9987
|
||||
),
|
||||
null,
|
||||
10000L
|
||||
);
|
||||
client.connect(
|
||||
new InetSocketAddress(
|
||||
"ts.teamlixo.net",
|
||||
9987
|
||||
),
|
||||
null,
|
||||
10000L
|
||||
);
|
||||
|
||||
client.addListener(new TS3Listener() {
|
||||
@Override
|
||||
public void onTextMessage(TextMessageEvent e) {
|
||||
client.addListener(new TS3Listener() {
|
||||
@Override
|
||||
public void onTextMessage(TextMessageEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientJoin(ClientJoinEvent e) {
|
||||
@Override
|
||||
public void onClientJoin(ClientJoinEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientLeave(ClientLeaveEvent e) {
|
||||
@Override
|
||||
public void onClientLeave(ClientLeaveEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerEdit(ServerEditedEvent e) {
|
||||
@Override
|
||||
public void onServerEdit(ServerEditedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelEdit(ChannelEditedEvent e) {
|
||||
@Override
|
||||
public void onChannelEdit(ChannelEditedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelDescriptionChanged(ChannelDescriptionEditedEvent e) {
|
||||
@Override
|
||||
public void onChannelDescriptionChanged(ChannelDescriptionEditedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientMoved(ClientMovedEvent e) {
|
||||
@Override
|
||||
public void onClientMoved(ClientMovedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelCreate(ChannelCreateEvent e) {
|
||||
@Override
|
||||
public void onChannelCreate(ChannelCreateEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelDeleted(ChannelDeletedEvent e) {
|
||||
@Override
|
||||
public void onChannelDeleted(ChannelDeletedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelMoved(ChannelMovedEvent e) {
|
||||
@Override
|
||||
public void onChannelMoved(ChannelMovedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelPasswordChanged(ChannelPasswordChangedEvent e) {
|
||||
@Override
|
||||
public void onChannelPasswordChanged(ChannelPasswordChangedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelList(ChannelListEvent e) {
|
||||
@Override
|
||||
public void onChannelList(ChannelListEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPrivilegeKeyUsed(PrivilegeKeyUsedEvent e) {
|
||||
@Override
|
||||
public void onPrivilegeKeyUsed(PrivilegeKeyUsedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelGroupList(ChannelGroupListEvent e) {
|
||||
@Override
|
||||
public void onChannelGroupList(ChannelGroupListEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerGroupList(ServerGroupListEvent e) {
|
||||
@Override
|
||||
public void onServerGroupList(ServerGroupListEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientNeededPermissions(ClientNeededPermissionsEvent e) {
|
||||
@Override
|
||||
public void onClientNeededPermissions(ClientNeededPermissionsEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientChannelGroupChanged(ClientChannelGroupChangedEvent e) {
|
||||
@Override
|
||||
public void onClientChannelGroupChanged(ClientChannelGroupChangedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientChanged(ClientUpdatedEvent e) {
|
||||
@Override
|
||||
public void onClientChanged(ClientUpdatedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnected(DisconnectedEvent e) {
|
||||
@Override
|
||||
public void onDisconnected(DisconnectedEvent e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChannelSubscribed(ChannelSubscribedEvent e) {
|
||||
@Override
|
||||
public void onChannelSubscribed(ChannelSubscribedEvent e) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
assertEquals(client.getState(), ClientConnectionState.CONNECTED);
|
||||
assertEquals(client.getState(), ClientConnectionState.CONNECTED);
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user