Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.01.2014, 10:00
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 11  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
имелось ввиду, что можно сразу много запросов добавить из любой части программы, а не ждать выполнения каждого, чтобы добавить следующий

Старый 10.01.2014, 10:54
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 12  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Слово "асинхронно" не несет никакой смысловой нагрузки, потому как непонятно как еще можно формировать очередь на одном клиенте. Кстати, в соседней ветке правильный подход показан с флоксом.

Старый 10.01.2014, 11:21
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 13  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
удалю его раз оно вас так напрягает)

Старый 10.01.2014, 13:06
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 14  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Спасибо парни. Значит будем работать по методу пчела и дикобраза вместе.
Насутчать им по пальцам надо конечно, но что поделать - говорят у нас уже как сто лет двиг написан и мы, такие вот умные - с нашим АПИ уже все работабют и никто не жалуется ( типа на разных языках ) .

Добавлено через 38 минут
Если кому интересно, как я сделал

Код AS3:
package com.combet.controllers 
{
	import com.combet.events.ServerEvent;
	/**
	 * ...
	 * @author in4core progression lab
	 */
	public final class ServerProcessor extends Object 
	{
		public static const SERVER:String = "";
		public static const AUTHORIZE:String = "";
		public static const GET_GAMES_FIELDS:String = "";
		public static const GET_MENU_HEADERS:String = "";
		public static const GET:String = "get";
		public static const POST:String = "post";
 
		public function ServerProcessor() 
		{
 
		}
 
		public static function runProcess(name:String, callBack:Function , args:Object = null, reqMethod:String = GET):void
		{
			var sc:ServerConnection = new ServerConnection();
			sc.callBack = callBack;
			sc.execute(SERVER + name, args, reqMethod);
		}
	}
 
}
 
package com.combet.controllers 
{
	import com.combet.events.ServerEvent;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.IEventDispatcher;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
 
	/**
	 * ...
	 * @author in4core progression lab
	 */
	public class ServerConnection extends EventDispatcher 
	{
		private var _urlLoader:URLLoader = new URLLoader();
		private var _callBack:Function = null;
 
		public function ServerConnection() 
		{
			this._urlLoader.addEventListener(Event.COMPLETE, onRequestComplete);
		}
 
		private function onRequestComplete(e:Event):void 
		{
			trace("Data recieved : " + this._urlLoader.data);
 
			this._urlLoader.removeEventListener(Event.COMPLETE, onRequestComplete);
			this._callBack(this._urlLoader.data);
		}
 
		public function execute(command:String , args:Object = null , method:String = "get"):void
		{
			var req:URLRequest = new URLRequest(command);
			if (method === "get") req.method = URLRequestMethod.GET;
			else if(method === "post") req.method = URLRequestMethod.POST;
			if(args) req.data = args;
			this._urlLoader.load(req);
		}
 
		public function set callBack(value:Function):void 
		{
			this._callBack = value;
		}
	}
 
}
Единственно, что я бы хотел занулять после всего этого весь использованный ServerConnection , но думаю GC и сам соберет его, раз ссылок не остается так и так.
__________________
Марк Tween

Старый 10.01.2014, 13:53
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 15  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Лучше бы не показывал.

С этого момента уже весело стало.
Код AS3:
 extends Object
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 10.01.2014, 14:09
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 16  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
По пальцам стучать он собрался.

Код AS3:
this._param
Примерно переводится как "Мой мой только мой приватный параметр"
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 10.01.2014, 14:38
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 17  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Короче конструктивнее отвечу, а то совесть мучает.

0. То что ты показал - дефолтное решение, с которого ты и начал, тупо хрень которая вместо подписки на комплит дает регистрацию коллбеком. Хотя суть реально та же. Твоя обертка ничем не помогает решить вопрос.
1. Кто угодно, откуда угодно может заспамить месадж с какой угодно обработкой(коллбеком).
2. ServerConnection - раз уж на то пошло - лучше сделать интернал классом, чтоб напрямую к нему доступа не было. Только через твою фабрику-манагер.
3. Никаких подписок на ерроры и таймауты.
4. Никакого кеша/пула/очереди. Тупо создал лоадер в небытие и забыл про него.
5. Удаляться мусорщиком твои лоадеры не будут из-за колбека. Возможность "отписки" не предусмотрена.
6. Создание лоадера происходит идентично дефолтному - тупо урл гет-пост и параметр. Человеческий фактор не исключен ни на грамм.
7. Коллбеки нетипизированные (еще один пункт к человечкому фактору). Типизация коллбека во флеше проблематична. Но никто не отменял стратегию или как минимум интерфейс, ограничивающий г-нокод в этих местах.

Итого вопрос: А что ты сделал то? И зачем? С таким подходом - чем урллоадер напрямую хуже, кроме экономии копипасты пяти строк кода подписки на комплит?

Добавлено через 6 минут
А столько текста и негодования я вылил по этому вопросу потому что в нашем проекте умельцы запилили такую же систему.
И уж поверь мне. Она не рабочая. Или делай нормально или лучше юзай лоадер напрямую.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 10.01.2014, 14:58
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 18  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
5. Удаляться мусорщиком твои лоадеры не будут из-за колбека. Возможность "отписки" не предусмотрена.
А разве в таком случаи, калбек помешает удалению? Мне почему-то всегда казалось, что вот если бы на сам класс у кого-то ссылка была, то это помешало удалению.

Старый 10.01.2014, 15:02
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 19  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Ну с этим я может и загнался.
Остальное в силе.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 10.01.2014, 15:30
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 20  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
1. Кто угодно, откуда угодно может заспамить месадж с какой угодно обработкой(коллбеком).
Что значит кто угодно? Кто ? о чем вообще речь? Никто никуда заспамить ничего не может, к серверным скриптам обратиться нельзя, пока не пройдена авторизация логина-пароля. Или ты про само приложение и работы над ним? Нет нет, тут речь об этом не идет, все предельно просто, никаких сложных структур, чтобы можно было нарваться на ошибку.
Тут о безопасности речь не идет, она нас не беспокоит. Тут именно стоял вопрос, чтобы не было проблем, что какое то соыбтие придет раньше и мы не знаем какое. А тут все собственно понятно. Пускай коллбеки, ну куда деваться.
А чего у вас там в проекте столо не рабочим то? Вполне себе быдло-подход на быдло-сервер, все логично.

Цитата:
extends Object
Всегда пишу классам не имеющим эестенд на что то другое, в любом случае он наследник Object - как ни крути, но выглядит приятнее ПОТОМУ, что у нас все таки типизированный язык, позволяющий указать типизацию даже в пустышках.

На остальные 7 пунктов отвечать не буду, ты прав - но ты прав в контесте своего проекта, тут так скажем совсем мелкая поделка в 100 строчек, а не огромная игра, чтобы парится.
А вопрос я задал, ибо мне было интересно , как подругому оно могло решаться.
__________________
Марк Tween

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.