-1

我们正在尝试提供一项服务,其中两个客户设备需要通过我们的服务器相互通信。每台设备都可以随时上线或下线。当他们都在线时,他们可以通过我们的服务器相互交换信息。

我倾向于使用 Flex/PHP 解决方案,但是以下场景让我感到困惑:

1) 当客户端设备-A 尝试通过我的服务器从客户端设备-B 获取一些信息时,来自设备-A 的传入请求将是一个 Flex AMF 服务请求。如何将该弹性请求中继到设备 B?如果可能,中继是首选。否则,我是否应该在我的服务器上终止来自设备 A 的请求并向设备 B 发起请求?

2) 当设备-B 用数据响应来自设备-A 的请求时(在上面的 (1) 中讨论过),我可以直接将该数据中继到设备-A 还是我需要终止响应并向设备发送新消息-A 与来自设备-B 的数据?

可能是我完全偏离了轨道,或者 Flex/AMF/PHP 不是最好的解决方案。让我知道你的想法。

谢谢

4

1 回答 1

0

即使我的服务器是 BlazeDS Java 服务器而不是 PHP,我也有类似的设置。我通过使用 Amf Destinations 解决了这个问题。如果你熟悉 JMS,这个比较类似。我有一个用于客户间通信的公共目的地和一个用于每个客户的私人目的地。当一个客户端想从任何其他客户端了解某些内容时,它会向公共目的地发送一条消息,并且所有客户端都会收到请求。在请求中,客户端传递其私有目的地的 id。如果一个客户端收到请求并通知他应该响应,他只需向请求中提到的私有目的地发送响应消息。

我希望这是你所要求的。您也可以将响应发送到公共目的地。然而,副作用是响应也将发送给所有其他客户端,这只会增加网络流量并使客户端必须过滤掉未发送给他们的内容。

于 2012-07-30T09:10:38.577 回答