2011-03-22 22 views
0

我有一個網絡應用程序,用戶將看到他們新消息的通知,我想將通知推送給已登錄的用戶。POKEIN如何識別客戶端進行服務器推送?其中的ClientID是IP嗎?

我看到我可以使用服務器端的PokeIn ,我試過並理解了使用它的簡單應用程序,但我沒有獲得ClientID的東西。

它保存在「OnClientConnected」是一個簡單的整數ClientID的,那麼它是怎樣識別客戶,他們要求的功能呢?

而且,它是寫它採用了混合長輪詢方法,可以有人請解釋一下我這是什麼?

如果沒有足夠的知識,我將無法實施。

是否保存在數據庫中ClientID的用於登錄的用戶,然後用這個會做推送數據?

UPDATE:

即使是同一 瀏覽器窗口或標籤內的請求,ClientID的 收到的每個請求 不同的是每一次,所以我只好包括 處理程序在我的母版頁每請求 ,我不得不將接收到的ClientId 映射到登錄用戶,所以我可以發送郵件給他 。

我不能只在登錄 映射(客戶端Id到 的loggedIn用戶ID)只有一次,然後使用同一個客戶端,以 給他發郵件?

+0

ClientId是一個隨機數(每個瀏覽器側視圖中生成的PokeIn) – Zuuum 2011-03-23 21:15:30

回答

6

ClientID代表您的應用程序的特定客戶端視圖的標識關鍵字,並且每次都可能發生更改。 它可以幫助您管理和按鍵鎖定特定視圖。另一方面,您仍然可以使用ASP.NET會話ID與PokeIn客戶端ID。 唯一的區別是,如果任何用戶在同一瀏覽器的不同選項卡上打開您的應用程序,則每個選項卡將具有唯一的客戶端ID。實際上,這是您可能需要的很好的 功能。在另一方面,PokeIn還通知您,當一個客戶端斷開連接(幾乎是瞬間)..

您可以通過客戶端ID達到會話ID; CometWorker.GetSessionId(字符串客戶端Id)

或客戶端ID用於通過會話ID; CometWorker.GetClientIdsBySessionId(string sessionId)

此外,如果您不想使用客戶端ID系統(這非常有用),您可以選擇「聯合」選項。它可以幫助你用你定義的名字發送和接收來自 客戶的消息。 (here中有一個「聯合」功能的示例)

由於PokeIn提供了各種連接選項,因此您在使用PokeIn時不必考慮背後的方法。它只是從各種解決方案中提供優惠 。更多信息可以從「FAQ」和「高級教程」(http://www.pokein.com/Help/AdvancedTutorial。aspx)

最後,您不必將PokeIn客戶端ID保存到數據庫。 PokeIn有效地管理每個客戶端的服務器端對象。 我建議你檢查樣本和教程。

+0

+1有關此信息。謝謝。 – teenup 2011-03-28 07:32:19

0

作爲更新的答案,當您需要客戶端的共享服務器端實例或客戶端的一致命名時,可以自由使用PokeIn的聯合功能。

相關問題