AZURE + SOCKET.IO:我如何知道我的Web应用程序使用的是哪个端口?

时间:2015-03-30 12:35:14

标签: node.js azure socket.io port

上周末我去了一个黑客马拉松,一个微软的招聘人员为我的Node.js项目安装了Azure。

我们在项目中使用了Socket.io,并且很难将客户端连接到服务器,因为我们不知道要连接哪个端口...

在我们的WebApp(非Azure VM)上,我们有以下代码:

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

在Socket.io的客户端,我必须指定一个ip地址以及它的端口。我试过了:

var socket = io('http://IP.AD.DRE.SSS:3000'); //And
var socket = io('http://IP.AD.DRE.SSS');      //And even a different Port
var socket = io('http://IP.AD.DRE.SSS:9999'); //And 443 and 80

每次迭代......我不得不做错事。我们最终切换到数字海洋,因为我知道如何使用它,但我真的想让它工作。

任何想法?

更新
我将其更改为80,我当前的错误是:“访问控制允许原点”。注意:我的客户端正在服务器上运行。

更新2:退回OP
不幸的是,Node的CORS包没有这个诀窍......

更多信息:
我没有使用Express或Connect。我的服务器在Azure上(作为Azure Web App)。我的客户端在Localhost上(感谢WebStorm)。

2 个答案:

答案 0 :(得分:0)

Azure Web Apps仅侦听端口80& 443.将端口更改为其中任何一个,您的应用程序将正常工作。

答案 1 :(得分:0)

只需在客户端字符串中关闭端口即可。您可以单独使用URL进行连接。以我的代码I codefoster.com/commandmonkey为例。