2015-11-17 24 views
4

我有一個本地Web服務器,我使用運行Windows 8.1的筆記本通過Maven使用startServer.bat命令運行。 iPad上還有一個應用程序,我使用TestFlight進行安裝,需要與此服務器進行通信。我利用Android平板電腦作爲互聯網接入的移動熱點。用於本地服務器的端口是8080。如何讓iPad應用程序與Windows 8筆記本上的本地服務器通信

自從我試圖登錄到應用它給出了一個錯誤:「我們無法與服務器進行通信,請檢查您的連接,然後再試一次」

我已經爲防火牆添加了規則,禁用了防火牆以及筆記本上的任何安全。當我嘗試登錄時,會有一些記錄在cmd中的項目,我可以看到正在從應用中檢索信息,即用戶名和密碼。但是,它幾乎好像信息沒有被髮回到應用程序,即登錄成功,你現在可以繼續。我也讀過有關Windows 8.1阻止Metro應用程序的信息,這裏可能會發生類似的情況嗎?

我已經確保IP在筆記本上是靜態的,設備使用相同的網絡,甚至使用代理來查看 - 我嘗試過使用Charles Proxy和CCProxy,但它們使用的內存太多,然後由於超時,構建失敗,所以我無法測試任何東西。當我在Safari中訪問服務器的IP地址(即xxx.xxx.xx.xx:8080)時,它確實連接(雖然我無法確認它是否表現爲100%),但iPad應用程序從未成功登錄過。錯誤總是顯示一次這行記錄: enter image description here

有人可以幫助我解決這個問題,或者至少直接我可以看看我可以看看如何正確設置它(以便我可以檢查我所做的)或如何解決這個問題。

編輯:我只能通過測試飛行訪問應用程序,但我已經向首席開發者證實,應用程序端已將App Transport Security考慮在內。我現在比以往任何時候都更感到有些東西阻礙了Windows端的傳出通信。如果我打開啓用appcontainer loopback程序之類的東西,則會顯示一條錯誤消息,指出無法收集appcontainer信息,並詢問防火牆是否處於打開狀態 - 這肯定不是。你也許知道這會造成什麼?升級到Windows 10可能有幫助嗎?

+0

要查看應用程序級別之外是否存在阻止,請在win8機器上設置一個簡單的測試頁面,然後嘗試使用瀏覽器從iPad打開它。如果可行,請使用Chrome上的郵差確認剪切過程。 –

回答

2

我敢打賭,你會被iOS 9的App Transport Security阻止。請嘗試爲iPad應用的Info.plist文件添加適當的例外。

要下手,只是嘗試做添加該鍵/值對:

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Include to allow all connections (DANGER)--> 
    <key>NSAllowsArbitraryLoads</key> 
     <true/> 
</dict> 

看看是否工作的事情。如果你想發佈這個應用程序給公衆,我建議使用基於域的例外。 More information can be found in this tutorial

+0

嗨邁克爾。非常感謝你的回答。我只能通過「測試飛行」訪問應用程序,但我已向首席開發人員證實,這已經在應用程序方面考慮到了。我現在比以往任何時候都更感到有些東西阻礙了Windows端的傳出通信。如果我打開啓用appcontainer loopback程序之類的東西,則會顯示一條錯誤消息,指出無法收集appcontainer信息,並詢問防火牆是否處於打開狀態 - 這肯定不是。你也許知道這會造成什麼?升級到Windows 10可能有幫助嗎? – sim1

+0

防火牆問題導致此類問題。雖然開發基於套接字的Android應用程序相同的問題遇到了Android設備發送數據到模擬器,但來自仿真器的數據沒有被傳輸到Android設備。原來,這是由於Windows機器上的防火牆(這是託管模擬器)造成的。關閉防火牆對我們有幫助。 –

+0

嗨羅漢薩納普,據我所見,防火牆已關閉......我希望我可以說這是問題所在。這個問題一直持續了至少一週,我不知道原因可能是什麼。我在任務管理器中看到Windows Defender服務正在運行(我無法停止),但實時防護已在安全中心關閉 - 此服務是否可以起作用? – sim1

相關問題