2013-07-02 24 views
0

我有一個帶有評論系統的移動應用程序,由App Engine支持。當用戶A回覆用戶B的評論時,用戶B得到通知。一切工作通過HTTP。帶App Engine的事件驅動的HTTP客戶端

現在我有客戶端設備每分鐘輪詢App Engine更新。它可以工作,但平均而言,通知出現之前會有30秒的延遲。

我想通過讓App Engine在用戶A發佈回覆後立即向用戶B的設備發送數據包來縮小這個差距。我可以通過將wait(60)命令從客戶端移動到服務器來實現這一點 - 客戶端將運行一個緊密的循環,並在獲得響應後立即發出另一個請求;在響應之前,App Engine每次請求都會持續60秒。

但是,如果用戶收到通知,App Engine會在60秒之前響應。本質上,用戶A的請求處理程序喚醒用戶B的睡眠請求處理程序,並使其返回非空數據。

是否有這個技術的名稱應用於HTTP?它可以被有效地編碼嗎?如果是這樣,我如何實現等待/通知代碼?

+0

你可以使用XMPP,傳輸方式爲HTTP。 –

回答

1

代替套接字App Engine具有Channel API,它應該幾乎是即時的,而不需要輪詢。

Channel API

docs

+0

哦,這是完美的!我認爲,根據HTTP的性質,它必須按照我上面描述的那樣實現,只是包含在一個性感的API中。 –

相關問題