Спасибо, попробуем!
Сейчас вместо gateway.php подставить обычный скрипт с echo.
На прямую из оперы открывается без проблем, всегда четко независимо от частоты запросов.
Но из флеша запросы валятся периодически также, ответа тупо нет (вообще).
Создается впечатление что ошибка всё-таки на клиенте и запросы до сервера просто не доходят. Либо в амфхпхп есть хитрый параметр таймаута отправки запроса...
Добавлено через 16 минут
Проверил access.log - похоже при ошибке запрос просто не доходит до сервера =(
То есть проблема 99% на клиенте. И запрос 1 единственный проходит, точнее не проходит...
Добавлено через 7 часов 7 минут
В общем сделали голое совершенно приложение со следующим содержанием:

Код AS3:
package {
import flash.display.Graphics;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.Responder;
import flash.text.TextField;
/**
* ...
* @author Gene Pavlovsky
*/
public class Main extends Sprite {
private var btnLogin:MovieClip;
private var txtResponse:TextField;
private var connection:NetConnection;
private var responder:Responder;
private var responder2:Responder;
public function Main():void {
if (this.stage)
this.init();
else
this.addEventListener(Event.ADDED_TO_STAGE, this.init);
}
private function init(e:Event = null):void {
this.removeEventListener(Event.ADDED_TO_STAGE, this.init);
this.btnLogin = new MovieClip();
this.btnLogin.buttonMode = true;
var g:Graphics = this.btnLogin.graphics;
g.beginFill(0xff0000);
g.moveTo(0, 0);
g.lineTo(100, 0);
g.lineTo(100, 20);
g.lineTo(0, 20);
g.lineTo(0, 0);
g.endFill();
this.addChild(this.btnLogin);
this.txtResponse = new TextField();
this.txtResponse.multiline = true;
this.txtResponse.width = 400;
this.txtResponse.height = 600;
this.txtResponse.y = 30;
this.addChild(this.txtResponse);
this.btnLogin.addEventListener(MouseEvent.CLICK, onLoginClick);
this.responder = new Responder(onResult, onFault);
this.connection = new NetConnection();
this.connection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
this.connection.connect('http://dev.arigama.ru/test/test.php');
this.onLoginClick();
}
private function onNetStatus(e:NetStatusEvent):void {
this.txtResponse.appendText('\nNet status:' +
'\ncode=' + e.info.code +
'\nlevel=' + e.info.level);
this.txtResponse.scrollV = this.txtResponse.maxScrollV;
}
public function onLoginClick(e:MouseEvent = null):void {
this.txtResponse.appendText('\nlogin() ');
this.txtResponse.scrollV = this.txtResponse.maxScrollV;
this.connection.call('AuthService.login', this.responder, 'user', 'pass');
}
private function onResult(result:Object):void {
var message:String = 'success';
this.txtResponse.appendText(message);
this.txtResponse.scrollV = this.txtResponse.maxScrollV;
}
private function onFault(status:Object):void {
var message:String = ('description' in status) ? status.description : status.toString();
this.txtResponse.appendText('\nFault: ' + message);
this.txtResponse.scrollV = this.txtResponse.maxScrollV;
}
}
}
При многократном клике 1 из 20 запросов в среднем выдает Failed в Опере (на остальные - BadVersion, это норм тк подключение идет не к amfphp). Первый запрос проходит как правило нормально (бывает и фейлится, но очень редко).
Протестить можно тут
http://dev.arigama.ru/test/test.swf, кликая на красную кнопку (но ошибка есть не на всех компах). Обычно будет выдавать BadVersion и иногда Failed.
Есть идеи как это вылечить и в чем может быть дело?
Добавлено через 19 часов 34 минуты
$100 на кошелек - тому, кто поможет решить проблему
Добавлено через 67 часов 30 минут
Неужели никто не сталкивался с подобным? (