private static void createServerAndClientEndpoints() throws Exception {
NetworkConfig config = network.getStandardTestConfig()
.setString(NetworkConfig.Keys.DEDUPLICATOR, NetworkConfig.Keys.DEDUPLICATOR_MARK_AND_SWEEP)
.setInt(NetworkConfig.Keys.MARK_AND_SWEEP_INTERVAL, TEST_SWEEP_DEDUPLICATOR_INTERVAL)
.setLong(NetworkConfig.Keys.EXCHANGE_LIFETIME, TEST_EXCHANGE_LIFETIME)
.setInt(NetworkConfig.Keys.ACK_TIMEOUT, ACK_TIMEOUT)
.setInt(NetworkConfig.Keys.MAX_RETRANSMIT, 1)
.setInt(NetworkConfig.Keys.MAX_MESSAGE_SIZE, TEST_BLOCK_SIZE)
.setInt(NetworkConfig.Keys.PREFERRED_BLOCK_SIZE, TEST_BLOCK_SIZE);
serverExchangeStore = new InMemoryMessageExchangeStore(config);
serverEndpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), config, serverExchangeStore);
serverEndpoint.addInterceptor(new MessageTracer());
clientExchangeStore = new InMemoryMessageExchangeStore(config);
clientEndpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), config, clientExchangeStore);
clientEndpoint.start();
server = new CoapServer(config);
server.addEndpoint(serverEndpoint);
resource = new TestResource(timer);
server.add(resource);
server.start();
serverPort = serverEndpoint.getAddress().getPort();
}