我正在构建主要基于.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在我的浏览器中指向了这个
但127.0.0.1:4001在浏览器上显示“无法获取/”,这表示socket.io服务器正在该网址上运行。
但是当我将其部署到云端时,我得到的是托管云服务的URL上的屏幕截图,但是在socket.io服务器应该启动的端口4001上,它表示页面无法显示。
如果您需要查看web.config等其他任何文件,请告诉我。
我一直坚持这个问题,对我的项目非常重要,任何建议或想法都会受到高度赞赏。
谢谢
答案 0 :(得分:0)
样本中缺少的重要部分是设置端口号
var port = process.env.port || 1337;
和 。听(端口)
当您在Azure环境(甚至模拟)内部运行时,为您分配端口,端口环境变量将告诉您在哪里。 4001可能不是指定的端口。
只有在执行
运行时才会使用1337node server.js
从命令行