POST запрос

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
maxx072
Сообщения: 38
Зарегистрирован: 13 мар 2011, 12:35

POST запрос

Сообщение maxx072 »

Добрый день. Скажите как правильно поступить при передачи данных с ас3 на сервер если у игрока много друзей. Наткнулся на такую проблему. У игрока 600 друзей при формирование пост запроса он виснет. ограничиваю до 450 все работает. вот кусок кода.

Код: Выделить всё

      public function onFriends(response: Object):void        {                count_allFriends = response.length;                for (var i=0; i<count_allFriends; i++)                {                                     result_frends[i] = response[i]['uid'];                     result_frends_photo[i] = response[i]['photo_rec'];                     result_aftor_name[i] = response[i]['first_name']+ " " + response[i]['last_name'];                     result_sex[i] = response[i]['sex'];                     result_photo_big[i] = response[i]['photo_big'];                     result_photo_medium_rec[i] = response[i]['photo_medium_rec'];                     result_can_post[i] = response[i]['can_post'];                                                              }              var result_frendsStr:String = result_frends.join(",");            var result_frends_photoStr:String = result_frends_photo.join(",");            var result_aftor_nameStr:String = result_aftor_name.join(",");            var result_sexStr:String = result_sex.join(",");            var result_photo_bigStr:String = result_photo_big.join(",");            var result_photo_medium_recStr:String = result_photo_medium_rec.join(",");            var result_can_postStr:String = result_can_post.join(",");                         on_connect(new URLVariables("do=registr&viewer_id=" + viewer_id + "&count_allFriends=" + count_allFriends + "&referrer=" + referrer  + "&aftor=" + aftor  + "&userInfoPhotosmal=" + userInfoPhotosmal  +  "&userInfoPhoto=" + userInfoPhoto +  "&result_frends=" + result_frendsStr +  "&result_frends_photo=" + result_frends_photoStr +  "&result_aftor_name=" + result_aftor_nameStr +  "&result_photo_big=" + result_photo_bigStr +  "&result_photo_medium_rec=" + result_photo_medium_recStr +  "&result_can_post=" + result_can_postStr  +  "&result_sex=" + result_sexStr +  "&userInfoPhotobig=" + userInfoPhotobig  +  "&userInfosex=" + userInfosex), onSuccess);                 }function  on_connect(vars:URLVariables, onSuccess:Function):void{    var request:URLRequest = new URLRequest();    request.url = "http://xxxx.com/xx/xxxx/registr.php";    request.method = URLRequestMethod.POST;    request.data = vars;     var loader:URLLoader = new URLLoader();    loader.dataFormat = URLLoaderDataFormat.VARIABLES;    loader.addEventListener(Event.COMPLETE, onSuccess);     loader.load(request); } 
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: POST запрос

Сообщение Александр »

maxx072 писал(а):при формирование пост запроса он виснет. ограничиваю до 450 все работает.
Отправлять запросы по 450. Если надо то и 10 таких запросов... Отправил один - получил ответ от сервера, если отправил не всё, то отправляешь снова и ждешь ответа сервера.
Нужно так много данных передавать? Передать только id друзей через запятую не достаточно?
maxx072
Сообщения: 38
Зарегистрирован: 13 мар 2011, 12:35

Re: POST запрос

Сообщение maxx072 »

тоже пришел к этому. Отправляю первым все необходимое потом постепенно погружаю подробную инфу.
fast_andrew
Сообщения: 18
Зарегистрирован: 04 апр 2011, 16:02

Re: POST запрос

Сообщение fast_andrew »

Есть и другой способ. Берешь объект с данными кодируешь его в JSON получаешь строчку

Код: Выделить всё

 var data:Object={данные игроков}var str:String=JSON.encode(data);// str.length=1 000 000 ну напримерvar b:ByteArray=new ByteArray();b.writeUTFBytes(str);//b.length=1 000 000;b.compress(); //b.length=100 000  опа нифига себе но это реальность))); 
И дальше передаешь файл b на сервер, там распаковываешь, декодируешь в объект и спокойно заносишь в базу. В результате это и проще и траффик экономишь, так как сжатие раз в 10 идет. Сам там делаю, можно запросы и по 5000 и более таким образом передавать.
fast_andrew
Сообщения: 18
Зарегистрирован: 04 апр 2011, 16:02

Re: POST запрос

Сообщение fast_andrew »

Еще плюс никто не сможет посмотреть что ты там передал с помощью firebug например, так как там идут просто битовые данные
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: POST запрос

Сообщение bodnar »

а декодируешь как?
Noise Gate
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34

Re: POST запрос

Сообщение Noise Gate »

Мне вот тоже интересно - можно код декодера глянуть?
maxx072
Сообщения: 38
Зарегистрирован: 13 мар 2011, 12:35

Re: POST запрос

Сообщение maxx072 »

Ни разу так не делал. Дай глянуть код декодера.
Ответить