2017-05-04 8 views
0

我的應用程序有一個主要的麻煩。與科爾多瓦的Windows應用程序構建Websocket的麻煩

我有一個應用程序角2.我與科爾多瓦打包這個應用程序。然後在Visual Studio中,我構建了一個Windows應用程序。

在我的應用我使用的WebSocket,我的應用程序使用的WebSockets將消息發送到本地服務器WS。該服務器通過Windows服務在本地運行。

我的問題是我無法將我的應用程序連接到WS服務器。在錯誤事件中,我什麼都沒有。

如果我建我的應用程序在我的電腦上,並在它的工作原理是相同的計算機上安裝它,但如果我在另一臺計算機或平板電腦上安裝這個程序,這是行不通的。

所有設備使用的是Windows 10

這裏是我的config.xml從我的科爾多瓦項目

<?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> 

謝謝您的幫助。 提前對不起,我的英語

+1

你的代碼是什麼樣的?歡迎來到SO,在發佈問題之前閱讀此[**詢問幫助**](http://stackoverflow.com/help/how-to-ask) – Aravind

回答

0

檢查WS服務器,它接受來自localhost以外的主機傳入的請求?

+0

WS服務器工作正常,我想。如果我只是運行我的應用程序作爲一個網站,我的網站和我的WS服務器之間的溝通非常完美 –

1

在這種特殊情況的問題來自於一個事實,即應用程序正在試圖達到在本地主機上運行的Web插槽。

像它提到的答案,這個帖子:Cannot connect to localhost in windows store application,開發Windows應用商店的應用程序可以從環回隔離出於安全考慮。

將該溶液首先在於找到已安裝的應用PackageFamilyName(這也可以與SID完成從註冊表,像在上面提到的文章)。爲此,運行此Power Shell命令:

Get-AppxPackage | ? {$ _。姓名'APP_NAME'}

APP_NAME可以是您的應用名稱的一部分。

一旦顯示了包的描述中,通過在下面的電源外殼命令進入PackageFamilyName添加的應用到NetIsolation豁免清單:

CheckNetIsolation LoopbackExempt -a -n =「PackageFamilyName」

該應用程序現在應該與顯示的豁免清單的一部分:

CheckNetIsolation LoopbackExempt -s

它應該被允許訪問本地主機。

相關問題