1

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

我遵循了此处列出的所有步骤。而且我能够让 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 在我的浏览器中指向它 在此处输入图像描述

但是 127.0.0.1:4001 在浏览器上显示“Cannot GET /”,这表明 socket.io 服务器正在该 url 上运行。

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

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

我一直被困在这个问题上,它对我的​​项目非常重要,任何建议或想法都将不胜感激。

谢谢

4

1 回答 1

0

示例中缺少的重要部分是端口号的设置

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

和 .listen(port)

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

仅当您通过执行运行时才会使用 1337

node server.js

从命令行

于 2013-08-21T14:58:52.130 回答