使用Azure移动服务路由客户端

时间:2013-10-06 01:19:05

标签: azure azure-mobile-services

我想将NAT Punchthrough作为客户端应用程序的一部分来实现,以允许客户端在路由器后面相互连接。我希望使用Azure移动服务来实现这一目标,但为了做到这一点,服务器需要保存数据库中所有传入连接的IP地址和端口(以便其他客户端可以查找主机,并连接回来发布数据的客户。)

无论如何在服务器端脚本中获取此连接(IP地址和端口)信息?如果没有,还有哪些替代服务可以让我设置这样的API?

谢谢!

2 个答案:

答案 0 :(得分:1)

我发现在windows azure论坛上找到了另一个帖子的答案。

通过移动服务自定义API功能公开标头。此外,azure使用转发机器将传入的请求路由到适当的vm。此计算机是一个代理,它将传入的连接信息保存到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

答案 1 :(得分:0)

这一分钟是不可用的。 Azure团队正在努力增加有关对脚本的请求的信息量。至于什么时候可以使用这个时间表,我不确定。