|
|
|
@ -27,6 +27,8 @@ import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import javax.annotation.PostConstruct; |
|
|
|
import javax.annotation.PreDestroy; |
|
|
|
import java.net.InetAddress; |
|
|
|
import java.net.InetSocketAddress; |
|
|
|
import java.net.UnknownHostException; |
|
|
|
import java.util.Random; |
|
|
|
import java.util.concurrent.ConcurrentMap; |
|
|
|
@ -94,11 +96,23 @@ public class DefaultCoapServerService implements CoapServerService { |
|
|
|
networkConfig.setInt(NetworkConfig.Keys.PREFERRED_BLOCK_SIZE, 1024); |
|
|
|
networkConfig.setInt(NetworkConfig.Keys.MAX_MESSAGE_SIZE, 1024); |
|
|
|
networkConfig.setInt(NetworkConfig.Keys.MAX_RETRANSMIT, 4); |
|
|
|
server = new CoapServer(networkConfig, coapServerContext.getPort()); |
|
|
|
networkConfig.setInt(NetworkConfig.Keys.COAP_PORT, coapServerContext.getPort()); |
|
|
|
server = new CoapServer(networkConfig); |
|
|
|
|
|
|
|
CoapEndpoint.Builder noSecCoapEndpointBuilder = new CoapEndpoint.Builder(); |
|
|
|
InetAddress addr = InetAddress.getByName(coapServerContext.getHost()); |
|
|
|
InetSocketAddress sockAddr = new InetSocketAddress(addr, coapServerContext.getPort()); |
|
|
|
noSecCoapEndpointBuilder.setInetSocketAddress(sockAddr); |
|
|
|
|
|
|
|
noSecCoapEndpointBuilder.setNetworkConfig(networkConfig); |
|
|
|
CoapEndpoint noSecCoapEndpoint = noSecCoapEndpointBuilder.build(); |
|
|
|
server.addEndpoint(noSecCoapEndpoint); |
|
|
|
if (isDtlsEnabled()) { |
|
|
|
CoapEndpoint.Builder dtlsCoapEndpointBuilder = new CoapEndpoint.Builder(); |
|
|
|
TbCoapDtlsSettings dtlsSettings = coapServerContext.getDtlsSettings(); |
|
|
|
DtlsConnectorConfig dtlsConnectorConfig = dtlsSettings.dtlsConnectorConfig(); |
|
|
|
networkConfig.setInt(NetworkConfig.Keys.COAP_SECURE_PORT, dtlsConnectorConfig.getAddress().getPort()); |
|
|
|
dtlsCoapEndpointBuilder.setNetworkConfig(networkConfig); |
|
|
|
DTLSConnector connector = new DTLSConnector(dtlsConnectorConfig); |
|
|
|
dtlsCoapEndpointBuilder.setConnector(connector); |
|
|
|
CoapEndpoint dtlsCoapEndpoint = dtlsCoapEndpointBuilder.build(); |
|
|
|
|