1

主に.NETに基づいたWindows Azureアプリケーションを構築していますが、node.jsを使用してsocket.ioサーバーも構築する必要があるため、socket.ioサーバーをデプロイし、このsocket.io URLを使用して接続する必要があります.NET アプリケーション。

ここにリストされているすべての手順に従いました。また、socket.io をローカルで実行することはできますが、クラウドにデプロイすると起動しません。socket.io のコード スニペットを以下に示します。

var app = require('express')()
  , server = require('http').createServer(app)
  , io = require('socket.io').listen(server, { origins: '*:*' });

server.listen(4001);

ローカルエミュレータでホストしたとき、ブラウザで 127.0.0.1:81 がこれを指していました ここに画像の説明を入力

しかし、127.0.0.1:4001 はブラウザーに "Cannot GET /" を示しました。これは、socket.io サーバーがその URL で実行されていることを示しています。

しかし、同じものをクラウドにデプロイすると、クラウド サービスがホストされている URL のスクリーンショットと同じになりますが、socket.io サーバーが開始されているはずのポート 4001 で、ページを表示できないと表示されます。

web.config などの他のファイルを確認する必要がある場合はお知らせください。

私はこの問題に永遠に立ち往生しており、私のプロジェクトにとって非常に重要です。提案やアイデアをいただければ幸いです。

ありがとう

4

1 に答える 1

0

サンプルから抜けている重要な部分は、ポート番号の設定です

var port = process.env.port || 1337;

および .listen(ポート)

Azure 環境内で実行している場合 (エミュレートされている場合でも)、ポートが割り当てられ、ポート環境変数が場所を示します。4001 は割り当てられたポートではない可能性があります。

1337 は、実行して実行している場合にのみ使用されます

node server.js

コマンドラインから

于 2013-08-21T14:58:52.130 に答える