在Flash和MySql之间进行通信的有效方式?

时间:2009-10-05 08:45:26

标签: php mysql flash response

Flash和MySql之间最佳/快速/有效的通信方式是什么?我有一个使用Flash-php-MySql的多玩家在线游戏,看起来当我达到5个或更多玩家时,游戏是滞后的。而且我认为这个问题是因为MySql通过php的请求和响应。我在AS3文件中使用URLRequest,Post方法。

我试过google,我发现了这个Amfphp和Zend Framework Adob​​e AMF。我不确定它是否有助于我连接到数据库?以前有人试过吗? (请在答案中包含您对任何这些内容的评论)

你们能否建议在响应时间和安全性方面,哪些更合适的方法在Flash-MySql之间进行通信?

2 个答案:

答案 0 :(得分:3)

ZendAMF和AMFPHP(两者都是同一个人,ZendAMF更新但设置起来有点复杂)都很棒。基本上你必须花时间设置前端和后端,但是一旦你滚动调用PHP方法就像你的AS3文件中的MyRemoteConnection.myMethod(myVars)一样简单。

如果您在Flex中工作变得更加容易,您可以使用RemoteConnection类,并且可以轻松地将本地AS3值对象动态映射到远程PHP值对象。

无论您使用的是ZendAMF还是AMFPHP,它都会比任何类型的XML更快,因为它们使用二进制数据传输。对AMFPHP的一个很好的介绍是Lee Brimelow的教程 - 这里是part one,这里是part two。希望有所帮助!

编辑:另外,我应该指出,Adobe正式认可ZendAMF。如果你习惯在你的服务器上设置zend PHP框架,那就去那个,但如果你想要一个非常简单的服务器端设置然后使用AMFPHP,它也很棒,就像我说它是由同一个人构建的。

答案 1 :(得分:1)

您是否尝试使用单向帖子调用来处理频繁的服务器<>客户端数据?在这种情况下,您必须不断轮询服务器并始终打开和关闭连接。

如果你想使用PHP,我建议你创建一个套接字服务器,这样你就只能有一个打开的连接。您必须使用actionscript中的Socket类建立连接。然后,您的PHP套接字服务器可以高速从SQL数据库中检索数据,因为它们都位于同一台计算机上,并使用打开的套接字连接直接将此数据发送回闪存客户端。

This should get you started,虽然我建议使用Socket类而不是XMLSocket类,因为它提供了更多自定义。