2010-12-05 53 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