2012-08-10 40 views
1

我正在通過大家使用網絡套接字連接到的雲服務將我的WinJS應用連接到移動瀏覽器客戶端。今天沒有.NET 4.5主機,可以使用網絡套接字嗎?

我使用socket.io構建了一個解決方案,只要我的node.js服務器託管在本地主機上,就可以工作:)當我將服務器部署到Azure時,Windows 8應用程序返回一個錯誤,指出它無法加載外部內容(在調用socket.io的connect()之後)。

查看MSDN上的Web套接字示例,我認爲我應該使用Windows.Networking.Sockets中的內置功能,至少在我的應用程序和公共雲服務之間存在什麼內容,因爲它不會嘗試加載外部資源。

我的問題是:隧道的另一端有什麼選擇?它是否需要帶有IIS 8的.NET 4.5主機(因爲IIS 7不支持WS)?我不認爲那些今天存在,所以我想知道這裏的發展故事。

根據我最終使用的服務器,我想我將不得不再次使用socket.io或SignalR來爲客戶端服務(大多數將不支持Web套接字,我需要一個好的跨瀏覽器庫:))

回答

0

(回答我的問題) 我背後一個代理,並沒有經過允許socket.io在我的Win8應用程序的網絡套接字連接,所以它的一個方法有所回落這需要加載外部資源。

繞過那個有問題的代理,連接工作正常,我可以按照預期從我的應用中使用socket.io。我在Azure上託管另一端(根據他們提供的node.js + socket.io教程),它工作正常。我仍然不知道開發人員想要使用內置web套接字庫應該用於主機,但我想我們必須等待IIS 8出局。

現在我要驗證應用程序是否可以通過此庫的認證。

0

如果你的後端是一個的NodeJS的應用程序,你不需要IIS服務器或任何有關.NET框架。

由NodeJS的作者在https://github.com/joyent/node/wiki/Node-Hosting維護的託管提供商列表(該列表可能已過時,因爲我沒有在那裏看到Azure)。

我不明白爲什麼您的服務器在部署到Azure時不應工作。你在使用npm install azure嗎?


我有,你是混淆自己關於網絡套接字Socket.io的感覺。

Socket.io是可能可能不是基於客戶端的瀏覽器使用的網絡套接字其在客戶端傳輸的實時傳輸構架。

參見:FAQ — Socket.IO

+0

我可能沒有正確解釋自己。我正在尋找一個支持WinRT中的網絡套接字實現的主機解決方案。我解決了我的問題,然後我會寫一個答案來結束這個話題。謝謝你的解釋。 – siger 2012-09-06 03:15:05