2013-08-21 119 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

相關問題