2017-05-04 14 views
0

私のアプリケーションに大きな問題があります。WindowsアプリケーションでWebsocketに問題が発生しました。

私はアプリケーションが角張っています2.私はこのアプリケーションをCordovaでパッケージ化しました。そして、Visual Studioで、私はWindowsアプリケーションを構築しました。

私のアプリではWebSocketを使用していますが、私のアプリはWebSocketを使ってローカルサーバWSにメッセージを送信します。このサーバーは、Windowsサービスを通じてローカルで実行されています。

私の問題は、自分のアプリケーションをWSサーバーに接続できないことです。オンエラーイベントでは、私は何も持っていません。

自分のアプリを自分のコンピュータにインストールしてこの同じコンピュータにインストールすると機能しますが、このアプリを別のコンピュータやタブレットにインストールすると機能しません。

すべてのデバイスは、ここで窓10

上にあるが

<?xml version="1.0" encoding="utf-8"?> 
<widget defaultlocale="fr-FR" id="toto" version="1.0.0" windows-packageVersion="1.0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:vs="http://schemas.microsoft.com/appx/2014/htmlapps"> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <vs:features /> 
    <preference name="SplashScreen" value="screen" /> 
    <preference name="windows-target-version" value="10.0" /> 
    <preference name="windows-phone-target-version" value="10.0" /> 
    <preference name="WindowsDefaultUriPrefix" value="ms-appx://" /> 
    <plugin name="cordova-plugin-whitelist" version="1" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 

    <platform name="wp8"> 
    <splash height="1280" src="res/screens/wp8/SplashScreenImage.png" width="768" /> 
    </platform> 
    <plugin name="cordova-windows-capability-localnetwork" src="https://github.com/dilhan2013/cordova-windows-capability-localnetwork.git" version="0.1.0" /> 
    <vs:platformSpecificValues> 
    <vs:platformSpecificWidget platformName="windows"> 
    </vs:platformSpecificWidget> 
    </vs:platformSpecificValues> 
    <preference name="DisallowOverscroll" value="true" /> 
    <preference name="KeyboardDisplayRequiresUserAction" value="false" /> 
    <plugin name="cordova-plugin-console" version="1.0.7" /> 
</widget> 

私のコルドバプロジェクトから私のconfig.xmlにあるあなたの助けをいただき、ありがとうございます。 私の英語のためにあらかじめ申し訳ありません

+1

あなたのコードはどのように見えますか?ようこそ、ようこそ質問を投稿する前に、この[** Asking Help **](http://stackoverflow.com/help/how-to-ask)を読んでください。 – Aravind

答えて

0

あなたのWSサーバーをチェックしてください、ローカルホスト以外のホストからの着信要求を受け入れますか?

+0

WSサーバはうまく動作します。ウェブサイトとして私のウェブサイトと私のWSサーバーとの間の通信は完全に機能する –

1

この特定の状況の問題は、アプリケーションがlocalhost上で実行されているWebソケットに到達しようとしているという事実に起因しています。

Cannot connect to localhost in windows store application、開発されたWindowsストアアプリは、セキュリティ上の理由からループバックから隔離することができます。

解決策は、インストールされたアプリケーションPackageFamilyNameを最初に検索することです(これは、上記のように、regeditのSIDで行うこともできます)。このため、このPower Shellコマンドを実行します。

Get-AppxPackage | ? {$ _。名前のように 'APP_NAME'}

APP_NAMEはあなたのアプリが知っている名前の一部にすることができます。

パッケージの説明が表示されたら、以下のパワーシェルコマンドでPackageFamilyNameを入力してNetIsolation免除リストにアプリを追加します。

CheckNetIsolation LoopbackExempt -a -n =「PackageFamilyName」

アプリは、今で表示免除リストの一部である必要があります:

CheckNetIsolation LoopbackExemptは

を-sそしてローカルホストへのアクセスを許可する必要があります。

関連する問題