如何在windows azure上部署socket.io node.js应用程序?

时间:2013-08-21 14:26:12

标签: node.js azure websocket socket.io iisnode

我正在构建主要基于.NET的windows azure应用程序,但我还必须使用node.js构建一个socket.io服务器,因此我需要部署一个socket.io服务器并使用此socket.io url来在我的.NET应用程序中连接。

我按照列出here列出的所有步骤。我能够在我的本地运行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在我的浏览器中指向了这个 enter image description here

但127.0.0.1:4001在浏览器上显示“无法获取/”,这表示socket.io服务器正在该网址上运行。

但是当我将其部署到云端时,我得到的是托管云服务的URL上的屏幕截图,但是在socket.io服务器应该启动的端口4001上,它表示页面无法显示。

如果您需要查看web.config等其他任何文件,请告诉我。

我一直坚持这个问题,对我的项目非常重要,任何建议或想法都会受到高度赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

样本中缺少的重要部分是设置端口号

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

和     。听(端口)

当您在Azure环境(甚至模拟)内部运行时,为您分配端口,端口环境变量将告诉您在哪里。 4001可能不是指定的端口。

只有在执行

运行时才会使用1337
node server.js

从命令行