节点的应用程序与azure

我有这个app.js代码,使端口上的调用:3000:3001

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

在底部是

.listen(3000);

所以对于我在蔚蓝的networking应用程序,我不认为:3001打开正确

在我的本地机器上,我可以浏览在localhost:3000端口上的这个文件夹资产,但是到达/socket.io/socket.io.js目录我必须使用localhost:3001这是代码结构的一部分来执行我们的任务想。

我已经跑了很多节点和azure色的实验室,但他们都没有做这个特殊的设置,如果我去命令提示符,并在本地运行app.js,我的networking应用程序在线再次工作,所以我假设端口3001在本地打开我的计算机,而在Azure主机3000上,我需要某种方式使networking应用程序既可以在不运行虚拟机的情况下执行,我也不完全确定在azure色的networking应用程序中所有可能的function。

Windows Azure网站使用IISNode托pipeIIS内的节点进程。 您的节点站点实际上是一个命名pipe道,它接收传入的请求,而不是像在本地运行或托pipe时使用的TCP端口。 即使你可以打开一个TCP端口,Azure网站也只能用于传统网站,并没有办法打开外部世界。

如果你正在寻找这种types的控制,你可能想看看虚拟机。 它们提供了更大的灵活性,而且不必花费更多的时间进行设置。 有了VM,你可以打开你select的端口。

另外,您可以利用Cloud Service来满足您的要求。 这里有一篇关于如何在同一Azure实例中部署多个节点应用程序以供参考的文章。