2013-10-06 43 views
1

我想將NAT穿透作爲客戶端應用程序的一部分,以允許客戶端在路由器後面互相連接。我希望使用Azure移動服務來實現此目的,但爲了這樣做,服務器需要將所有傳入連接的IP地址和端口保存在數據庫中(以便其他客戶端可以查找主機並連接回發佈數據的客戶端)。使用Azure移動服務路由客戶端

有沒有辦法在服務器端腳本中獲取此連接(IP地址&端口)信息?如果沒有,有什麼替代服務可以讓我設置這樣的API?

謝謝!

回答

1

我發現在windows azure論壇上有另一個線程的答案。

頭部通過移動服務自定義api功能暴露。此外,azure使用轉發機器將傳入請求路由到適當的虛擬機。這臺機器是一個代理,它將傳入的連接信息保存到x-forwarded-for http標頭中。因此,從自定義腳本中,我們可以從標題中查詢傳入連接信息。應該注意的是,x-forwarded-for報頭應該包含ip地址和端口號。

下面是在另一個線程中給出的自定義API示例。

exports.get = function(request, response) { 
    var ip = request.headers['x-forwarded-for']; 
    response.send(statusCodes.OK, ip); 
}; 

另一個線程是在這裏:http://social.msdn.microsoft.com/Forums/windowsazure/en-US/a6aa306c-f117-4893-a50a-94418fafc1a9/client-ip-address-from-serverside-scripts-azure-mobile-services?forum=azuremobile&prof=required

0

一分鐘這不可用。 Azure團隊正在努力增加有關對腳本請求的信息量。至於什麼時候可以使用,我不確定。

相關問題