Skip to content

Commit edc4edf

Browse files
committed
Add CoAP endpoint based on java-coap to leshan-server-demo
1 parent 7322032 commit edc4edf

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

leshan-server-demo/pom.xml

+4
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ Contributors:
4949
<groupId>org.eclipse.leshan</groupId>
5050
<artifactId>leshan-server-redis</artifactId>
5151
</dependency>
52+
<dependency>
53+
<groupId>org.eclipse.leshan</groupId>
54+
<artifactId>leshan-tl-javacoap-server</artifactId>
55+
</dependency>
5256
<dependency>
5357
<groupId>org.eclipse.californium</groupId>
5458
<artifactId>californium-core</artifactId>

leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/LeshanServerDemo.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import org.eclipse.leshan.server.redis.RedisSecurityStore;
6262
import org.eclipse.leshan.server.security.EditableSecurityStore;
6363
import org.eclipse.leshan.server.security.FileSecurityStore;
64+
import org.eclipse.leshan.transport.javacoap.server.endpoint.JavaCoapServerEndpointsProvider;
6465
import org.slf4j.Logger;
6566
import org.slf4j.LoggerFactory;
6667

@@ -249,8 +250,14 @@ public static LeshanServer createLeshanServer(LeshanServerDemoCLI cli) throws Ex
249250
: new InetSocketAddress(cli.main.secureLocalAddress, coapsPort);
250251
endpointsBuilder.addEndpoint(coapsAddr, Protocol.COAPS);
251252

253+
// Create CoAP endpoint based on java-coap
254+
int jcoapPort = cli.main.jlocalPort;
255+
InetSocketAddress jcoapAddr = cli.main.secureLocalAddress == null ? new InetSocketAddress(jcoapPort)
256+
: new InetSocketAddress(cli.main.jlocalAddress, jcoapPort);
257+
JavaCoapServerEndpointsProvider javacoapEndpointsProvider = new JavaCoapServerEndpointsProvider(jcoapAddr);
258+
252259
// Create LWM2M server
253-
builder.setEndpointsProviders(endpointsBuilder.build());
260+
builder.setEndpointsProviders(endpointsBuilder.build(), javacoapEndpointsProvider);
254261
return builder.build();
255262
}
256263

leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/cli/LeshanServerDemoCLI.java

+14
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import org.eclipse.leshan.core.demo.cli.StandardHelpOptions;
2121
import org.eclipse.leshan.core.demo.cli.VersionProvider;
22+
import org.eclipse.leshan.core.demo.cli.converters.PortConverter;
2223
import org.eclipse.leshan.server.core.demo.cli.DtlsSection;
2324
import org.eclipse.leshan.server.core.demo.cli.GeneralSection;
2425
import org.eclipse.leshan.server.core.demo.cli.IdentitySection;
@@ -55,6 +56,19 @@ public class LeshanServerDemoCLI implements Runnable {
5556
public ServerGeneralSection main = new ServerGeneralSection();
5657

5758
public static class ServerGeneralSection extends GeneralSection {
59+
@Option(names = { "-jh", "--java-coap-host" },
60+
description = { //
61+
"Set the local CoAP address of endpoint based on java-coap library.", //
62+
"Default: any local address." })
63+
public String jlocalAddress;
64+
65+
@Option(names = { "-jp", "--java-coap-port" },
66+
description = { //
67+
"Set the local CoAP port of endpoint based on java-coap library.", //
68+
"Default: ${DEFAULT-VALUE}" },
69+
converter = PortConverter.class)
70+
public Integer jlocalPort = 5685;
71+
5872
@Option(names = { "-r", "--redis" },
5973
description = { //
6074
"Use redis to store registration and securityInfo.", //

0 commit comments

Comments
 (0)