public static void main(String[] args) { NetworkConfig net = NetworkConfig.createStandardWithoutFile() .setLong(NetworkConfig.Keys.MAX_MESSAGE_SIZE, 16 * 1024) .setInt(NetworkConfig.Keys.PROTOCOL_STAGE_THREAD_COUNT, 2) .setLong(NetworkConfig.Keys.EXCHANGE_LIFETIME, 10000); Connector serverConnector = new TcpServerConnector(new InetSocketAddress(CoAP.DEFAULT_COAP_PORT), 1, 100); CoapEndpoint endpoint = new CoapEndpoint(serverConnector, net); CoapServer server = new CoapServer(net); server.addEndpoint(endpoint); server.add(new Resource()); server.start(); }
public LwM2mBootstrapServerImpl(InetSocketAddress localAddress, InetSocketAddress localAddressSecure, BootstrapStore bsStore, SecurityStore securityStore) { Validate.notNull(bsStore, "bootstrap store must not be null"); this.bsStore = bsStore; this.securityStore = securityStore; // init CoAP server coapServer = new CoapServer(); Endpoint endpoint = new CoAPEndpoint(localAddress); coapServer.addEndpoint(endpoint); // init DTLS server DTLSConnector connector = new DTLSConnector(localAddressSecure, null); connector.getConfig().setPskStore(new LwM2mPskStore(this.securityStore)); Endpoint secureEndpoint = new SecureEndpoint(connector); coapServer.addEndpoint(secureEndpoint); // define /bs ressource BootstrapResource bsResource = new BootstrapResource(bsStore); coapServer.add(bsResource); }
@Before public void startupServer() throws Exception { System.out.println(System.lineSeparator() + "Start " + getClass().getSimpleName()); CoapEndpoint endpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0)); server = new CoapServer(); server.addEndpoint(endpoint); server.add(new CoapResource(TARGET) { @Override public void handleGET(CoapExchange exchange) { exchange.respond(RESPONSE_PAYLOAD); } }); server.start(); serverAddress = endpoint.getAddress(); }
public ExampleCrossProxy() throws IOException { ForwardingResource coap2coap = new ProxyCoapClientResource(NetworkConfig.getStandard().getLong(NetworkConfig.Keys.HTTP_SERVER_SOCKET_TIMEOUT)); ForwardingResource coap2http = new ProxyHttpClientResource(NetworkConfig.getStandard().getLong(NetworkConfig.Keys.HTTP_SERVER_SOCKET_TIMEOUT)); // Create CoAP Server on PORT with proxy resources form CoAP to CoAP and HTTP coapProxy = new CoapServer(PORT); coapProxy.setMessageDeliverer(new ProxyMessageDeliverer(coapProxy.getRoot(), coap2coap, coap2http)); coapProxy.add(new TargetResource("test")); coapProxy.start(); ProxyHttpServer httpServer = new ProxyHttpServer(coap2coap, HTTP_PORT); System.out.println("CoAP resource \"test\" available over HTTP at: http://localhost:"+HTTP_PORT+"/proxy/coap://localhost:"+PORT+"/test"); }
public LeshanBootstrapServer(CoapEndpoint unsecuredEndpoint, CoapEndpoint securedEndpoint, BootstrapStore bsStore, BootstrapSecurityStore bsSecurityStore, BootstrapSessionManager bsSessionManager, LwM2mModel model, NetworkConfig coapConfig) { Validate.notNull(bsStore, "bootstrap store must not be null"); Validate.notNull(bsSessionManager, "session manager must not be null"); Validate.notNull(model, "model must not be null"); Validate.notNull(coapConfig, "coapConfig must not be null"); this.bsStore = bsStore; this.bsSecurityStore = bsSecurityStore; // init CoAP server coapServer = new CoapServer(coapConfig); this.unsecuredEndpoint = unsecuredEndpoint; if (unsecuredEndpoint != null) coapServer.addEndpoint(unsecuredEndpoint); // init DTLS server this.securedEndpoint = securedEndpoint; if (securedEndpoint != null) coapServer.addEndpoint(securedEndpoint); // create request sender LwM2mBootstrapRequestSender requestSender = new CaliforniumLwM2mBootstrapRequestSender(securedEndpoint, unsecuredEndpoint, model); BootstrapResource bsResource = new BootstrapResource( new BootstrapHandler(bsStore, requestSender, bsSessionManager)); coapServer.add(bsResource); }
TestResource test2 = new TestResource(path); test2.setObservable(true); server.add(test2); System.out.println("Establish observe relation to "+path);
private static void createServer() { CoapEndpoint endpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0)); resource = new StorageResource(TARGET, CONTENT_1); server = new CoapServer(); server.add(resource); server.addEndpoint(endpoint); server.start(); serverAddress = endpoint.getAddress(); }
private static void createServer() { serverEndpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0)); resource = new StorageResource(TARGET, CONTENT_1); server = new CoapServer(); server.add(resource); server.addEndpoint(serverEndpoint); server.start(); serverPort = serverEndpoint.getAddress().getPort(); }
@BeforeClass public static void setupServer() { System.out.println(System.lineSeparator() + "Start " + MessageTypeTest.class.getSimpleName()); EndpointManager.clear(); CoapEndpoint endpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0)); server = new CoapServer(); server.addEndpoint(endpoint); server.add(new CoapResource(ACC_RESOURCE) { public void handlePOST(CoapExchange exchange) { exchange.accept(); System.out.println("gotit"); exchange.respond(SERVER_RESPONSE); } }); server.add(new CoapResource(NO_ACC_RESOURCE) { public void handlePOST(CoapExchange exchange) { exchange.respond(SERVER_RESPONSE); } }); server.start(); serverPort = endpoint.getAddress().getPort(); }
@Before public void setupEndpoints() throws Exception { testResource = new TestResource("test"); exchangeStore = new InMemoryMessageExchangeStore(CONFIG); // bind to loopback address using an ephemeral port CoapEndpoint udpEndpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), CONFIG, exchangeStore); server = new CoapServer(); server.addEndpoint(udpEndpoint); server.add(testResource); server.getEndpoints().get(0).addInterceptor(serverInterceptor); server.start(); InetSocketAddress serverAddress = server.getEndpoints().get(0).getAddress(); System.out.println("Server binds to port " + serverAddress.getPort()); client = createLockstepEndpoint(serverAddress); }
private void createServer() { CoapEndpoint endpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0)); resource = new TestResource(NAME_1, PAYLOAD); server = new CoapServer(); server .add(new CoapResource(RES_A) .add(new CoapResource(RES_AA) .add(resource .add(new TestResource(CHILD, CHILD_PAYLOAD))))); server.addEndpoint(endpoint); server.start(); serverPort = endpoint.getAddress().getPort(); }
private void createServer() { // retransmit constantly all 200 milliseconds NetworkConfig config = network.createTestConfig().setInt(NetworkConfig.Keys.ACK_TIMEOUT, 200) .setFloat(NetworkConfig.Keys.ACK_RANDOM_FACTOR, 1f).setFloat(NetworkConfig.Keys.ACK_TIMEOUT_SCALE, 1f); CoapEndpoint endpoint = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), config); server = new CoapServer(); server.addEndpoint(endpoint); resourceX = new MyResource(TARGET_X); resourceY = new MyResource(TARGET_Y); server.add(resourceX); server.add(resourceY); server.start(); uriX = getUri(endpoint, TARGET_X); uriY = getUri(endpoint, TARGET_Y); }
@BeforeClass public static void start() { System.out.println(System.lineSeparator() + "Start " + ObserveServerSideTest.class.getSimpleName()); Logger ul = Logger.getLogger(UDPConnector.class.getName()); ul.setLevel(Level.OFF); CONFIG = network.createTestConfig() .setInt(NetworkConfig.Keys.ACK_TIMEOUT, ACK_TIMEOUT) .setFloat(NetworkConfig.Keys.ACK_RANDOM_FACTOR, 1f) .setFloat(NetworkConfig.Keys.ACK_TIMEOUT_SCALE, 1f) .setInt(NetworkConfig.Keys.MAX_MESSAGE_SIZE, 32) .setInt(NetworkConfig.Keys.PREFERRED_BLOCK_SIZE, 32); testObsResource = new TestObserveResource(RESOURCE_PATH); server = new CoapServer(); server.addEndpoint(new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), CONFIG)); server.add(testObsResource); server.getEndpoints().get(0).addInterceptor(serverInterceptor); server.start(); serverAddress = server.getEndpoints().get(0).getAddress(); System.out.println("Server binds to port " + serverAddress.getPort()); }
public LeshanClient(final InetSocketAddress clientAddress, final InetSocketAddress serverAddress, final CoapServer serverLocal, final LwM2mClientObjectDefinition... objectDevice) { Validate.notNull(clientAddress); Validate.notNull(serverLocal); Validate.notNull(serverAddress); Validate.notNull(objectDevice); Validate.notEmpty(objectDevice); serverLocal.setMessageDeliverer(new LwM2mServerMessageDeliverer(serverLocal.getRoot())); final Endpoint endpoint = new CoAPEndpoint(clientAddress); serverLocal.addEndpoint(endpoint); clientSideServer = serverLocal; for (final LwM2mClientObjectDefinition def : objectDevice) { if (clientSideServer.getRoot().getChild(Integer.toString(def.getId())) != null) { throw new IllegalArgumentException("Trying to load Client Object of name '" + def.getId() + "' when one was already added."); } final CaliforniumBasedObject clientObject = new CaliforniumBasedObject(def); clientSideServer.add(clientObject); } requestSender = new CaliforniumLwM2mClientRequestSender(serverLocal.getEndpoint(clientAddress), serverAddress, getObjectModel()); }
public LeshanClient(final InetSocketAddress clientAddress, final InetSocketAddress serverAddress, final CoapServer serverLocal, final LwM2mClientObjectDefinition... objectDevice) { Validate.notNull(clientAddress); Validate.notNull(serverLocal); Validate.notNull(serverAddress); Validate.notNull(objectDevice); Validate.notEmpty(objectDevice); serverLocal.setMessageDeliverer(new LwM2mServerMessageDeliverer(serverLocal.getRoot())); final Endpoint endpoint = new CoAPEndpoint(clientAddress); serverLocal.addEndpoint(endpoint); clientSideServer = serverLocal; for (final LwM2mClientObjectDefinition def : objectDevice) { if (clientSideServer.getRoot().getChild(Integer.toString(def.getId())) != null) { throw new IllegalArgumentException("Trying to load Client Object of name '" + def.getId() + "' when one was already added."); } final CaliforniumBasedObject clientObject = new CaliforniumBasedObject(def); clientSideServer.add(clientObject); } requestSender = new CaliforniumLwM2mClientRequestSender(serverLocal.getEndpoint(clientAddress), serverAddress, getObjectModel()); }
server = new CoapServer(); server.addEndpoint(serverEndpoint); server.add(new CoapResource("test") {
@BeforeClass public static void setupServer() throws Exception { NetworkConfig config = network.getStandardTestConfig(); config.setString(NetworkConfig.Keys.DEDUPLICATOR, NetworkConfig.Keys.DEDUPLICATOR_MARK_AND_SWEEP); config.setInt(NetworkConfig.Keys.MARK_AND_SWEEP_INTERVAL, DEDUPLICATOR_SWEEP_INTERVAL); Endpoint ep = new CoapEndpoint(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0), config); ep.addInterceptor(new MessageTracer()); server = new CoapServer(); server.addEndpoint(ep); server.add(new CoapResource(resourceName) { @Override public void handleGET(CoapExchange exchange) { exchange.respond(payload); } }); server.start(); serverAddress = ep.getAddress(); }
private static void createServerAndClientEndpoints() throws Exception { NetworkConfig config = network.getStandardTestConfig() // We make sure that the sweep deduplicator is used .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) // set ACK timeout to 500ms .setInt(NetworkConfig.Keys.ACK_TIMEOUT, ACK_TIMEOUT) .setInt(NetworkConfig.Keys.MAX_RETRANSMIT, 1) // We set the block size to 16 bytes .setInt(NetworkConfig.Keys.MAX_MESSAGE_SIZE, TEST_BLOCK_SIZE) .setInt(NetworkConfig.Keys.PREFERRED_BLOCK_SIZE, TEST_BLOCK_SIZE); // Create the endpoint for the server and create surveillant 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(); // Create a server with two resources: one that sends piggy-backed // responses and one that sends separate responses server = new CoapServer(config); server.addEndpoint(serverEndpoint); resource = new TestResource(timer); server.add(resource); server.start(); serverPort = serverEndpoint.getAddress().getPort(); }