Ошибка неверной версии AMFPHP при наличии нескольких одновременных вызовов к gateway.php - PullRequest
1 голос
/ 19 февраля 2010

В настоящее время я использую AMFPHP 1.9 для создания простой флеш-игры, в которой используется игровой сервер.

Иногда я получаю эту ошибку (BadVersion) при одновременных вызовах на сервер.

Я искал в Интернете некоторые ответы на эту проблему, и, кажется, на них ответили еще в 2004 году.

Существует ли обновленная версия решения этой проблемы?

Я попытался изменить параметры globals.php для использования абсолютного пути, например, выполнив следующее:

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

, но я даже не могу перейти в браузер служб, когда я его изменил.

Обновления: Мне удалось изменить на правильный путь (путем получения пути с помощью специального php, который отображает get_cwd ())

Так что браузер сервисов запущен.Тем не менее, я все еще получаю время ожидания время от времени.(мой запрос к серверу выполняется с интервалом около 5 минут)

Я попытался отправить спам на сервер, чтобы определить, было ли это из-за одновременных вызовов, и понял, что это не так.(мои локальные флеш-спамы 30 X 3 запросов в секунду, и все работает нормально)

Так что теперь я подозреваю, что это может быть связано с тайм-аутом сетевого соединения или чем-то подобным?

Обновление: добавлен вызов keepaliveна сервер каждые 2 минуты, чтобы увидеть, что это происходит снова.Время ожидания веб-сервера установлено равным 180 секундам.

1 Ответ

0 голосов
/ 19 февраля 2010

На самом деле недавно была выпущена новая версия (последние 2 недели), поэтому обязательно проверьте, не поможет ли она.

Я не знаю вашу систему (очевидно), но я сомневаюсь, что ваш абсолютный путь там правильный, я бы это проверил или вернул значение по умолчанию. (Вероятно, он будет начинаться с '/ var / www / ...' или аналогичного)

Я использовал amfphp на довольно многих сайтах с высоким трафиком и никогда не видел эту ошибку в результате этого, поэтому определенно не игнорируйте другие возможности. Внимательно посмотрите на данные, которые вы отправляете / получаете на предмет возможных ошибок. Можно ли правильно закодировать? Являются ли их специальные символы, возможно, символы акцента?

Попытайтесь сузить источник ошибки, всегда ли один вызов вызывает ее? Возможно, попробуйте записать результаты.

Гудлак!

...