2016-07-27 31 views
0

當看看Pusher伺服器和他們的Client/Server API我有一些問題試圖找出Pusher如何幫助我允許設備/應用程序之間的雙向通信。如何使用Pusher API進行雙向通信?

我有在應該返回自己的狀態到服務器或其他客戶端,它作爲一個儀表板來瀏覽所有這些設備和監控領域的地位等

多個較小的設備/應用程序在我的理解這可以通過使用傳統的WebSockets和一個位於其間的雲服務器來完成,該服務器管理這些客戶端之間的所有連接 - 我通過Pusher進行管理。

但通過閱讀文檔後,我無法真正看到雙向數據通信的概念。這裏的原因:

  1. 將數據推到我必須使用推動者之一Server Libraries

  2. 來接收數據我不得不使用推Client Libraries

這個概念的一個客戶端但不符合我的需要。我想:

  1. 廣播給客戶。
  2. 客戶端可以直接向客戶端發送數據(服務器充當網關/路由)。
  3. 客戶端可以發送數據到服務器。
  4. 服務器可以發送/響應唯一的客戶端。

在閱讀關於Pusher時,他們說:「雙向通信」,我目前看不到。那麼如何實現那個廣告的雙向通信呢?

回答

1

Pusher只做PubSub。使用這種方法,您可以模擬雙向通信:對話的每個方面都需要有專門用於對話的主題,然後發佈到此。

這並不理想。對於可能更接近你想要的東西的東西,請看一下WAMP(Web應用程序消息傳遞協議),它不僅僅是PubSub。在http://wamp-proto.org/implementations有一個實現列表。對於路由器,我建議您使用Crossbar.io(http://crossbar.io),它有大量的文檔可以幫助您入門。充分披露:我參與了WAMP和Crossbar.io - 但它都是開源的,可能只是您需要的。