2012-07-30 46 views
-1

我們正試圖提供一種服務,其中兩臺客戶設備需要通過我們的服務器彼此通話。每個設備可以隨時上線或下線。當他們都在線時,他們可以通過我們的服務器相互交換信息。雲應用中的Flex/AMF/PHP

我對一個Flex/PHP解決方案傾斜,但下列情況下,難不倒我:

1)當客戶端設備-A試圖通過我的服務器,以獲得從客戶端設備-B的一些信息,從設備傳入的請求-A將是Flex AMF服務請求。如何將該Flex請求中繼到設備-B?如果可能的話,中繼是首選。否則,我應該終止從我的服務器上的設備-A的請求,併發出請求到設備-B? 2)當設備B以數據響應來自設備A的請求(在上面(1)中討論)時,我可以直接將該數據中繼給設備A,還是需要終止響應併發送向設備-A發送來自設備-B的數據的新消息?

可能是我完全偏離軌道或Flex/AMF/PHP不是最好的解決方案。讓我知道你的想法。

感謝

+0

因此,哪裏的問題落在常見問題(http://stackoverflow.com/faq)的範圍內? – 2012-07-30 06:09:27

+0

我認爲這些問題在我列出的兩個場景中都非常清楚地闡明瞭。我不確定具體多少我可以考慮我所在的項目的階段。還是你建議stackoverflow不適合建築討論? – Vishal 2012-07-30 08:04:39

回答

0

我有一個類似的設置,即使我的服務器是BlazeDS的Java服務器,而不是PHP。我通過使用Amf Destinations解決了這個問題。如果你對JMS很熟悉,這是相當類似的。我有一個公共目的地進行客戶間通信,每個客戶有一個私人目的地。當一個客戶想要知道其他客戶的信息時,它會向公共目的地發送消息,所有客戶都會收到請求。在請求中,客戶端傳遞其私有目標的ID。如果一個客戶收到請求並通知他應該回應,他只需發送一個響應消息給請求中提到的私人目的地。

我希望這是你所要求的。您可以交替地將回復發送給公衆目的地。然而,副作用是將響應發送給所有其他客戶端,這隻會增加網絡流量,並使客戶端必須過濾掉沒有發送給他們的東西。

+0

雖然我無法直接使用您的建議,但我得到了一些我認爲能夠幫助我找到出路的建議。謝謝。 – Vishal 2012-08-01 20:30:52