2010-12-05 54 views
7

官方文档没有提及支持,但我想知道是否可以连接客户端程序而不是javascript以使用Channel API。我目前使用Windows应用程序的基本轮询技术,使Channel API可以提高响应能力并减少负载。在C#中使用谷歌频道API

我想作为一个丑陋的黑客,我可以在后台渲染一个隐藏的webbrowser对象,并在其中运行JavaScript,然后馈送。有更好的解决方案吗?

回答

10

使用XMPP将不起作用,因为Channel API只会与Google服务器之间通信XMPP:XMPP流量未暴露给浏览器(您可以使用FireBug或Chrome开发人员窗口查看内容以验证此内容的“绑定”请求;你会看到有JSON被发送下来)。正如你所说,目前唯一可行的解​​决方案是将一个浏览器控件包装到足够的javascript中,以便连接到应用程序中的频道,并在获取消息时用它来指示你的C#应用​​程序。笨重,但可行。

尽管您也可以反向工程,然后模拟iframe的功能,并直接使用JSON消息,但随着实现细节的更改,您的应用程序可能会以各种方式被破坏 - 而且它们会。所有这一切说,我很想知道有多少人会喜欢原生的C#库,以及想用它编写什么样的应用程序。 WP7应用程序? Windows客户端应用?服务器应用?我创建了一个功能请求App Engine的位置:

http://code.google.com/p/googleappengine/issues/detail?id=4206

请给予好评,如果你有兴趣,而更多的细节/引人注目的使用情况下,您可以命名,就更好了。

谢谢!

3

如果可能,您可以考虑直接使用XMPP。 C#有several

你可能想自己找一份FireFox + FireBug。然后看看FireBug的'net'选项卡,与某人玩demo app(或自己制作)。你应该能够通过请求,然后在你的C#代码中模拟它们。

澄清: 我不是建议使用XMPP去跟通道API但对于客户端应用程序和你的App Engine应用程序之间的通信。我建议使用FireBug,因为它将非常清楚,流量 JSON。

+0

捣毁了提琴手,证实了Moishe在下面说了什么,看起来它回来的是Json,而不是xmpp。 – savagepanda 2010-12-05 05:39:49

+0

我建议使用XMPP而不是Channel API。如果直接使用XMPP是一个选项,它将只删除一层额外的故障点(通道API)。 – 2010-12-05 05:46:44