Ошибка неверной версии AMFPHP при наличии нескольких одновременных вызовов к gateway.php

В настоящее время я использую 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 ответ

Решение

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

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

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

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

Удачи!

Другие вопросы по тегам