Java源码示例:org.fourthline.cling.DefaultUpnpServiceConfiguration
示例1
private UpnpServiceConfiguration createServiceConfiguration() {
return new DefaultUpnpServiceConfiguration() {
@Override
public DeviceDescriptorBinder getDeviceDescriptorBinderUDA10() {
return new SempDeviceDescriptorBinderImpl(this, sempServerUrl);
}
@Override
public StreamClient createStreamClient() {
// disable the client in order to avoid requesting descriptors from UPnP devices
return null;
}
@Override
public StreamServer createStreamServer(NetworkAddressFactory networkAddressFactory) {
return new org.fourthline.cling.transport.impl.apache.StreamServerImpl(
new StreamServerConfigurationImpl()
);
}
};
}
示例2
@Override
protected List<IRouter> findRoutersInternal() throws RouterException {
final UpnpServiceConfiguration config = new DefaultUpnpServiceConfiguration();
final ClingRegistryListener clingRegistryListener = new ClingRegistryListener();
final UpnpService upnpService = new UpnpServiceImpl(config, clingRegistryListener);
shutdownServiceOnExit(upnpService);
final UpnpHeader<?> searchType = new UDADeviceTypeHeader(ClingRegistryListener.IGD_DEVICE_TYPE);
log.info("Start searching {} for device type {}", DISCOVERY_TIMEOUT, searchType);
upnpService.getControlPoint().search(searchType, (int) DISCOVERY_TIMEOUT.toSeconds());
return clingRegistryListener
.waitForServiceFound(DISCOVERY_TIMEOUT) //
.map(service -> (RemoteService) service)
.map(service -> createRouter(service, upnpService)) //
.collect(toList());
}
示例3
public SempDeviceDescriptorBinderImpl(DefaultUpnpServiceConfiguration serviceConfiguration, String sempServerUrl) {
this.serviceConfiguration = serviceConfiguration;
this.sempServerUrl = sempServerUrl;
}