2012-11-16 49 views
4

我的目標是在Windows Surface RT平板電腦上本地運行Flash。從研究中,我發現要讓網站運行Flash,他們必須在微軟網站上列入白名單。通過進一步的研究,我發現如何破解白名單來添加任何域名: http://www.redmondpie.com/how-to-enable-flash-for-any-site-in-windows-8-rt-metro-internet-explorer-10/可以爲Windows 8創建本地Web服務器Surface RT

但是,我不能添加本地文件系統(即C:\file:\\),因爲它們不是域。一個解決方案,我通過使用本地主機。我如何編寫Web服務器以在Windows 8 Surface RT上運行,還是可以完成?

在C#中,我知道你可以使用System.Net.HttpListenerhttp://www.codehosting.net/blog/BlogEngine/post/Simple-C-Web-Server.aspx。 Surface RT支持System.Net.HttpListener嗎?如果沒有,那麼在本地播放Flash的替代解決方案是什麼?

+1

Windows store api不支持HttpListener。所有網絡相關類都是客戶端。除非有黑客/解決方法/其他類別,否則無法運行服務器(使用WinRT) –

+0

Adob​​e「承諾」將Adobe Air引入Windows RT(Metro)。 Lee Brimelow(在Adobe工作)發推文稱,它應該在2013年上半年發佈:https://twitter.com/leebrimelow/status/268815503349411841不知道這對你是好消息還是壞消息。 –

回答

3

理論上有可能。您需要使用StreamSocketListener才能獲得StreamSocket。然後你處理來自該套接字的http輸入(大量工作),併發回你的迴應。我已經使我的協議工作。你可能需要注意的一件事是你可能需要第二臺機器來發送http請求。我使用另一臺PC的IE發送測試請求。 Win8網絡隔離不允許同一臺機器的兩個應用程序之間的tcp連接...

+1

如果有幫助,網絡隔離允許在同一進程中使用本地主機。請參閱http://msdn.microsoft.com/en-us/library/windows/apps/hh770532.aspx#network_isolation_and_loopback。 「使用IP回送地址的網絡通信不能用於進程間通信(在兩個不同的應用程序之間),因爲這受到網絡隔離的限制。爲了通信目的,在同一進程內允許使用IP回送地址的網絡通信。」 –

相關問題