2010-11-19 45 views
0

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

如此有效的服务器需要推动数据到客户端时,一些变化。我可以编写检测什么时候发生变化的代码,但我不确定事情的推动力。

这里我最好的选择是什么?

回答

2

实际上,你可以推动数据从服务器到客户端,当使用Flash套接字(这意味着绕过http协议),如果你不能使用套接字,你可以使用诸如polling, long polling or http streaming之类的东西,然而手工完成所有事情都需要一段时间,所以我建议你国王在已经有这个功能的产品。用于PHP的WebOrb就是其中之一,并且据我所知是免费的。

2

我不是flex开发人员,所以我不会为您提供一些代码来帮助解决这种情况,但我可以为您提供一些关于如何解决此问题的想法。

而不是寻找PHP来推动Flex我会设置你的Flex代码来不断探索PHP的新事件。如果可以确保服务器的响应速度足够快,则可以每秒进行一次探测。或者,探测5秒的东西仍然是实时的。

如果PHP正在将DATA发送回您的Flex应用程序,那么我会确保它发送ID与数据,以便您可以在Flex应用程序中使用该ID来知道返回的最后数据是什么。每次您探测PHP时,都会发送您收到的最后一个ID,告诉PHP仅在该ID后发送新的DATA。很多时候,你会探测,不会有任何东西回来,但它比反复接收相同的数据,并浪费带宽和proccesses找出数据是否已经显示在屏幕上更好。

2

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

,你所要做的就是不断地轮询来自客户端的服务器和检查,如果事情已经改变了。什么

如果事情已经改变,那么你可以采取必要的行动。这是本质如何谷歌/脸书和其他人这样做。对用户来说,它看起来像服务器推送的数据,但内部客户端不断轮询服务器

+0

那么Flash Socket呢?它允许服务器推送。 – 2010-11-19 16:06:28

+0

好点。但是adobe本身告诉说,设置一个与XMLSocket对象进行通信的服务器可能具有挑战性。所以你应该使用它,如果你真的只需要它。但是轮询是一个简单的方法。无论如何,谢谢你指出了一个。 – Amila 2010-11-20 03:11:28

相关问题