5

ローカル ネットワークで upnp デバイスを自動検出するサービスを作成しようとしています。Tomcat 7 で実行され、4thline Cling ライブラリを使用する Web アプリケーションに実装します。このエラーが発生しました

org.fourthline.cling.transport.RouterImpl handleStartFailure SEVERE: ネットワーク ルーターを初期化できません: org.fourthline.cling.transport.spi.InitializationException: この環境で変更された URLStreamHandlerFactory を設定できませんでした。HTTPURLConnection に基づくバンドルされたデフォルト クライアントは使用できません。マニュアルを参照してください。

cling のマニュアルでは、Cling は Java JDK の HTTPURLConnection を HTTP クライアント操作に使用できなかったと述べています。彼らは、ネットワークトランスポートを構成することを提案しています。

やり方がよくわかりませんでした。誰かが同様の問題を抱えていましたか?例を挙げていただけますか?

ありがとう。

私が使用しているコードは次のとおりです。

    public class Example {

    public static void startDiscovery() {

        RegistryListener listener = new RegistryListener() {

            public void remoteDeviceDiscoveryStarted(Registry registry,RemoteDevice device) {


                    String name = device.getDisplayString();
                    String url = device.getDetails().getBaseURL().toString();
                    String friendlyName = device.getDetails().getFriendlyName();


            }

            public void remoteDeviceDiscoveryFailed(Registry registry,RemoteDevice device, Exception ex) {
            }

            public void remoteDeviceAdded(Registry registry, RemoteDevice device) {
            }

            public void remoteDeviceUpdated(Registry registry,RemoteDevice device) {
            }

            public void remoteDeviceRemoved(Registry registry,RemoteDevice device) {
            }

            public void localDeviceAdded(Registry registry, LocalDevice device) {
            }

            public void localDeviceRemoved(Registry registry, LocalDevice device) {
            }

            public void beforeShutdown(Registry registry) {
            }

            public void afterShutdown() {
            }
        };


        try{

            UpnpService upnpService = new UpnpServiceImpl(listener);
            upnpService.getControlPoint().search(new STAllHeader());
            // wait 5 seconds for them to respond
            Thread.sleep(5000);
            upnpService.shutdown();
        }catch(Exception e){
            e.printStackTrace();
        }


    }
}
4

0 に答える 0