如何测试Facebook实时更新

时间:2012-02-04 11:46:20

标签: facebook facebook-graph-api facebook-c#-sdk

为了向我的应用发布实时更新,Facebook需要向我的服务器执行发布请求。

问题是,我的服务器是我的家用电脑,不能从互联网上公开寻址。把服务器带到实现这个听起来可能是一个痛苦...无法附加调试器,提琴手等......

那么测试Http端点的最佳方法是什么?模拟Facebook服务器的集成测试?摆弄防火墙/ NAT试图让Facebook与家用电脑对话?

有什么想法吗?

6 个答案:

答案 0 :(得分:6)

您可以使用ngrok - https://ngrok.com/ - 免费(尽可能付费)服务,完全满足您的需求。 Localtunnel服务已关闭,开发人员也推荐使用ngrok。

答案 1 :(得分:4)

过去,我使用LocalTunnel来做到这一点。它是SSH隧道的一个很好的包装器,它有效地为localtunnel.com指定了一个指向本地主机端口的子域。

所以基本上,当你运行它时,它会吐出一个外部可访问的子域名,如xyz.localtunnel.com,它的端口80将指向你在本地盒子上指定的端口。

您可以在http://progrium.com/localtunnel/

找到它

测试各种pubsubhubbub订阅源(比如Facebook)非常棒。

答案 2 :(得分:2)

OK!我认为NAT应该是最好的选择,我不认为它不起作用的原因。你应该尝试一下。

答案 3 :(得分:2)

实际上非常简单 - 登录到我的家庭路由器,在端口80上设置端口转发到我的计算机的本地IP,在Windows防火墙中为端口80设置一个例外。然后导航到我的公共IP地址浏览器。

https://github.com/facebook/real-time/tree/master/samples

处实施接收器样本

答案 4 :(得分:0)

唯一的答案是获取一个可公开访问的网络服务器,以便能够回拨给实时更新。

有许多免费的虚拟主机允许服务器端脚本。而且还有很多付费的虚拟主机。 Stackoverflow真的不是获取网站托管的地点/时间/原因/方式的线索的地方。

答案 5 :(得分:0)

不,你不能只使用ngrok模拟facebook实时更新,因为你必须用你的ngrok地址打电话给facebook服务器来验证它(告诉我你是否知道如何做到这一点:p)。 我使用openshift服务器接收facebook实时,然后将从facebook收到的evry json数据发布到我的ngrok地址。所以这个过程是

  1. 设置openshift服务器以接收Facebook通知
  2. Facebook向您的openshift发送通知
  3. 您的openshift将数据(收到的)发送到您的ngrok地址
  4. 如果你必须在本地网站上收到facebook通知(例如www.website.dev/fb-notifications/),那么在你的localhost文件夹中创建一个接收openshift帖子的脚本(让我们称之为tunelscript.php)。这个过程将是

    1. 设置openshift服务器以接收Facebook通知
    2. Facebook向您的openshift发送通知
    3. 您的openshift通过您的ngrok地址(perso.ngrok.com/tunelscript.php)将数据(收到的)发送到您的tunel脚本
    4. 从tunelscript到本地网站的中继数据(tunelscript.php => www.website.dev/fb-notifications /)
    5. 那是Tuneling B - )