2013-08-21 89 views
1

我正在构建基于.NET的windows azure应用程序,但我也必须使用node.js构建一个socket.io服务器,因此我需要部署一个socket.io服务器并使用此socket.io url进行连接在我的.NET应用程序。如何在Windows Azure上部署socket.io node.js应用程序?

我遵循列出的所有步骤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在浏览器上显示“Can not GET /”,这表示socket.io服务器正在该URL上运行。

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

请让我知道如果你需要看到的任何其他文件一样的web.config等

我一直停留在这个问题上永远离其真正为我的项目是至关重要的,任何建议或想法是深深赞赏。

感谢

+0

是否遵循所有的步骤执行此

node server.js 

运行的1337只被使用:http://www.windowsazure.com/en -us/develop/nodejs/tutorials/app-using-socketio/ – WiredPrairie

+0

我按照您提供的链接中的步骤尝试部署教程提及的同一个聊天应用程序,并且我仍然收到显示在所附截图中的错误以上。它在我的本地模拟器上工作得很好。这可能是node.js版本的问题吗?我的本地有8.21,我在ServiceConfiguration设置文件中看到azure试图在云服务上安装6.20。任何想法? – Bitsian

回答

0

的重要组成部分,你从样品中缺少的是设定的端口号

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

和 。听(端口)

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

,如果你是在命令行

+0

我也试过,但我无法连接到普通网址上的任何socket.io服务器而没有给出任何端口号。我猜测我连接时不需要提及任何端口号,如果我像上面提到的那样设置端口号? – Bitsian

相关问题