2010-02-19 32 views
1

我目前使用AMFPHP 1.9制作使用游戏服务器的简单Flash游戏。AMFPHP当多个呼叫同时呼入gateway.php时出现错误版本错误

有时,当出现同时调用服务器时出现此错误(BadVersion)。

我搜索了一些回答这个问题的网页,而且似乎他们回答道:在2004年

有如何解决这个问题的一个更新的版本?

我试图改变globals.php参数使用绝对路径,比如执行下面:

//$servicesPath = "services/"; 
//change to 
$servicesPath = "/httpdocs/Flash/AMFPHP/services/"; 

,但我甚至不能去服务浏览器时,我改变了它。

更新: 我设法更改为正确的路径(通过使用显示get_cwd()的自定义PHP获取路径)

所以服务的浏览器,现在到了。 但是,我现在仍然会暂停。 (我对服务器的请求是在大约5分钟的时间间隔)

我试图向服务器发送垃圾邮件查询,以确定它是否是由于同时发生的呼叫,并意识到它不是。 (我本地闪存垃圾邮件30×3请求/秒,它工作正常)

所以,现在我怀疑这可能是由于netconnection或类似的超时?

更新:每隔2分钟向服务器添加一次keepalive调用以查看它是否再次发生。 Web服务器超时似乎设置为180秒。

+0

我认为如果所有的服务方法都是独立调用它们时才起作用,那么更改$ servicesPath并不会有任何帮助。 BadVersion错误有点令人沮丧,因为它可能(几乎)任何导致它的东西。您可以使用FirePHP来调试您的服务。 – goliatone 2010-02-19 16:26:42

回答

0

实际上最近发布了一个新版本(最近2周),所以一定要检查一下,看看它是否有帮助。

我不知道你的系统(显然),但我怀疑你的绝对路径是否正确,我会验证它,或者将它设置回默认值。 (它可能会启动'/ var/www/...'或类似的)

我在很多高流量网站上都使用了amfphp,并且从来没有看到过这个错误,所以绝对不要别忽视其他可能性。仔细查看您发送/接收的数据是否存在任何可能的错误。它可以被正确编码吗?他们的特殊字符,可能是重音字符?

试着缩小错误的来源,是否有一个始终导致错误的调用?也许尝试记录结果。

Goodluck!

+0

@Tyler Egeto:哇,我完全错过了发布!感谢您带来的好消息... – goliatone 2010-02-19 16:27:53

+0

雅有一些新的开发人员接管项目,所以事情回来了,很高兴看到! – 2010-02-19 18:32:40

+0

我想我找到了答案,这是错误的路径。 现在我需要再次强调测试同步部分。 已经使用最新的1。9版本从2个星期前:) – 2010-02-20 00:28:41