PHP和Flex应用程序之间的实时通信

时间:2010-11-19 10:35:44

标签: php flex real-time push

我有一个与PHP服务器应用程序通信的Flex / AIR应用程序。最近,我的客户要求应用程序之间的实时连接,以取代我们目前拥有的;刷新按钮,必须单击以刷新数据。

因此,当事情发生变化时,服务器需要将数据推送到客户端。我可以编写代码来检测何时发生变化,但我不确定事情的推动方面。

这里最好的选择是什么?

4 个答案:

答案 0 :(得分:2)

我不是灵活的开发者,所以我不打算为你提供一些代码来帮助解决这个问题,但是我可以为你提供一些关于如何解决这个问题的想法。

而不是寻找PHP推送到Flex我会设置你的Flex代码,以不断探索PHP的新发现。如果可以确定服务器响应速度足够快,您可以每秒进行一次探测。另外,探测5秒的东西仍然是实时的。

如果PHP正在将数据发送回您的Flex应用程序,那么我会确保它发送带有数据的ID,以便您可以在Flex应用程序中使用该ID来了解返回的最后数据。每次探测PHP时,都会发送您收到的最后一个ID,告诉PHP只能在该ID之后发送新的DATA。很多时候你会进行探测,并且不会有任何反击,但它比一遍又一遍地接收相同的数据并浪费带宽和过程来判断数据是否已经显示在屏幕上更好。

答案 1 :(得分:2)

您无法将数据从服务器推送到客户端。这就是网络的本质:(

您需要做的是不断从客户端轮询服务器并检查是否有更改。

如果发生了变化,您可以采取必要的措施。这就是google / facebook和其他所有人这样做的方式。对于用户来说,服务器看起来像是推送数据,但在内部客户端不断轮询服务器。

答案 2 :(得分:2)

实际上,当使用Flash套接字时(这意味着绕过http协议),您可以将数据从服务器推送到客户端。如果您不能使用套接字,则可以使用polling, long polling or http streaming之类的内容。但是,手动完成所有操作需要一段时间,所以我建议查看已经具有此功能的产品。 WebOrb for PHP就是其中之一,据我所知是免费的。

答案 3 :(得分:1)

这篇文章可能是您的起点。 Communicating with Flex and PHP over Sockets