1

誰もがWebソケットを使用して接続するクラウドサービスを介して、WinJSアプリをモバイルブラウザークライアントに接続したいと考えています。

node.jsサーバーがローカルホストでホストされている限り正常に機能するsocket.ioを使用してソリューションを構築しました:)サーバーをAzureにデプロイすると、Windows8アプリは外部コンテンツをロードできないというエラーを返します。ローカルコンテキスト(socket.ioのconnect()を呼び出した後)。

MSDNのWebソケットのサンプルを見ると、外部リソースを読み込もうとしないため、少なくともアプリとパブリッククラウドサービスの間にあるWindows.Networking.Socketsの組み込み機能を使用する必要があると思います。

私の質問は、トンネルのもう一方の端のオプションは何ですか?IIS8を備えた.NET4.5ホストが必要ですか(IIS 7はWSをサポートしていないため)?今日はまだ存在しないと思うので、ここでの開発ストーリーは何なのか気になります。

サーバーに何を使用するかによって、クライアントにサービスを提供するには、socket.ioまたはSignalRを再度使用する必要があると思います(ほとんどの場合、Webソケットはサポートされておらず、優れたクロスブラウザーライブラリが必要です:))

4

2 に答える 2

0

バックエンドがNodeJSアプリの場合、IISサーバーや.NETFrameworkに関連するものは必要ありません。

ホスティングプロバイダーのリストは、NodeJSの作成者によってhttps://github.com/joyent/node/wiki/Node-Hostingで管理されています(Azureが表示されないため、リストが古くなっている可能性があります)。

Azureにデプロイしたときにサーバーが機能しない理由がわかりません。使用していnpm install azureますか?


WebSocketsSocket.ioに関して混乱しているように感じます。

Socket.ioは、クライアントのブラウザーに基づいてクライアント側でのトランスポートにWebSocketsを使用する場合と使用しない場合があるリアルタイムトランスポートフレームワークです。

参照:FAQ — Socket.IO

于 2012-08-13T20:11:50.823 に答える
0

(私自身の質問に答える)私は、Win8アプリのsocket.ioからのWebソケット接続を許可しないプロキシの背後にいたため、外部リソースの読み込みが必要なメソッドにフォールバックしました。

問題のあるプロキシをバイパスすると、接続は正常に機能し、意図したとおりにアプリからsocket.ioを使用できます。私はAzureでもう一方の端をホストしています(それらが提供するnode.js + socket.ioチュートリアルに従って)、それは機能します。組み込みのWebソケットライブラリを使用したい開発者がホストに何を使用すべきかはまだわかりませんが、IIS8がリリースされるのを待つ必要があると思います。

これで、アプリがこのライブラリの認定に合格できることを確認する必要があります。

于 2012-09-06T03:18:47.997 に答える