我想將NAT穿透作爲客戶端應用程序的一部分,以允許客戶端在路由器後面互相連接。我希望使用Azure移動服務來實現此目的,但爲了這樣做,服務器需要將所有傳入連接的IP地址和端口保存在數據庫中(以便其他客戶端可以查找主機並連接回發佈數據的客戶端)。使用Azure移動服務路由客戶端
有沒有辦法在服務器端腳本中獲取此連接(IP地址&端口)信息?如果沒有,有什麼替代服務可以讓我設置這樣的API?
謝謝!
我想將NAT穿透作爲客戶端應用程序的一部分,以允許客戶端在路由器後面互相連接。我希望使用Azure移動服務來實現此目的,但爲了這樣做,服務器需要將所有傳入連接的IP地址和端口保存在數據庫中(以便其他客戶端可以查找主機並連接回發佈數據的客戶端)。使用Azure移動服務路由客戶端
有沒有辦法在服務器端腳本中獲取此連接(IP地址&端口)信息?如果沒有,有什麼替代服務可以讓我設置這樣的API?
謝謝!
我發現在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);
};
一分鐘這不可用。 Azure團隊正在努力增加有關對腳本請求的信息量。至於什麼時候可以使用,我不確定。