package com.esotericsoftware.kryonet; import java.io.IOException; import java.util.concurrent.atomic.AtomicInteger; public class ReuseTest extends KryoNetTestCase { public void testPingPong () throws IOException { final AtomicInteger stringCount = new AtomicInteger(0); final Server server = new Server(); startEndPoint(server); server.addListener(new Listener() { public void connected (Connection connection) { connection.sendTCP("TCP from server"); connection.sendUDP("UDP from server"); } public void received (Connection connection, Object object) { if (object instanceof String) { stringCount.incrementAndGet(); System.out.println(object); } } }); // ---- final Client client = new Client(); startEndPoint(client); client.addListener(new Listener() { public void connected (Connection connection) { connection.sendTCP("TCP from client"); connection.sendUDP("UDP from client"); } public void received (Connection connection, Object object) { if (object instanceof String) { stringCount.incrementAndGet(); System.out.println(object); } } }); int count = 5; for (int i = 0; i < count; i++) { server.bind(tcpPort, udpPort); client.connect(5000, host, tcpPort, udpPort); try { Thread.sleep(250); } catch (InterruptedException ex) { } server.close(); } assertEquals(count * 2 * 2, stringCount.get()); stopEndPoints(); waitForThreads(10000); } }