1

Websocket サーバーを作成する、Azure でホストしようとしているノード アプリケーションがあります。以下のコードを使用して Web ソケット サーバーを作成しようとしています。

var socket = require('websocket').server;
...
server.listen(1111,function(){
   console.log('Http server is listening on port 1111');
});

ローカル マシンでこれを行うと正常に動作しますが、Azure で起動すると、クライアント側の JavaScript の次の行が表示されます。

var connection = new WebSocket('ws:' + document.domain + ':1111');
connection.send(msg); //throws error

エラーをスローします:

InvalidStateError: 使用できない、または使用できなくなったオブジェクトを使用しようとしました

Azure を使用している場合、必要な機能を取得できますか? もしそうなら、どこから修正を探し始めるかについての提案はありますか?

ここで壊れたアプリの動作を確認できます。

4

1 に答える 1

3

Azure で動作しますが、変更を加える必要があります。これを試して:

server.listen(process.env.port, function () {
  var addr = app.address();
  console.log('Server listening on http://' + addr.address + ':' + addr.port);
});

Azure の Socket.IO のソースからのチャットの例を使用するチュートリアルを次に示します。

http://www.windowsazure.com/en-us/develop/nodejs/tutorials/app-using-socketio/

Windows を使用していることを前提としていますが、これは厳密には必要ありません。Mac または Linux システムから Azure で Node.js を使用するには、Git から発行するだけです。

http://www.windowsazure.com/en-us/develop/nodejs/common-tasks/publishing-with-git/

于 2012-12-14T14:57:04.510 に答える