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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.11.2012, 12:37
LENINGOLD вне форума Посмотреть профиль Отправить личное сообщение для LENINGOLD Найти все сообщения от LENINGOLD
  № 1  
Ответить с цитированием
LENINGOLD

Регистрация: Nov 2012
Сообщений: 14
Question Как увеличить количество обрабатываемых запросов

Пишу клиент для игры. Desktop версию на AIR и веб версию.
Связь с сервером осуществляется через HTTP запросы по так называемой технике Long polling. Клиент отправляет запрос, но ответ приходит только в тот момент, когда на сервере происходят какие-то изменения.

Когда дело дошло до игрового чата столкнулся с такой проблемой: оказывается флеш может одновременно обрабатывать только 2 подключения. Если я жду ответа от состояния игры и от чата, то третий запрос на действие клиента, флеш отправит только после того, как придет ответ от чата либо от состояния игры.
Самое загадочное - это, если запустить Fiddler2 (программка для отслеживания HTTP соединений), то флеш сможет одновременно обрабатывать сразу 4 соединения! Каким образом он влияет на флеш - неизвестно. По этому я проблему не сразу заметил.

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

Старый 08.11.2012, 12:49
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 2  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Это, если я не ошибаюсь, одна из рекомендаций http 1.0, перекочевавшая в 1.1 -количество одновременных подключений к серверу лимитируется, причем это везде проявляется - в браузере, итд. Fiddler2, скорее всего, раз работает проксей, заодно и увеличивает этот параметр.

Как выход- поскольку понятие "1 сервер" определяется исключительно полным доменом, стоит сделать несколько зеркал у вашего сервера - обращаетесь к нему domain.ru - добавьте zerkalo.domain.ru и получаете в два раза больше коннектов.

Вроде бы так

Старый 08.11.2012, 14:34
LENINGOLD вне форума Посмотреть профиль Отправить личное сообщение для LENINGOLD Найти все сообщения от LENINGOLD
  № 3  
Ответить с цитированием
LENINGOLD

Регистрация: Nov 2012
Сообщений: 14
Вряд ли..
Я провел небольшой эксперимент: Вызвал 4 раза тестовый запрос, который через 20сек. возвращает HelloWord и потом вызвал google.com (другой домен). Флеш послал запрос на гугл только после того, как отработают 4 предыдущих запроса. Без Фиддлера ждать запроса на гугл придется еще в 2 раза дольше. Флеш сам делает какую-то очередь и не отправляет следующий запрос, пока не отработают предыдущие. Скорее всего зеркала не помогут...

Код AS3:
import flash.net.URLLoader;
import flash.net.URLRequest;
 
var loader1:URLLoader = new URLLoader();
var loader2:URLLoader = new URLLoader();
var loader3:URLLoader = new URLLoader();
var loader4:URLLoader = new URLLoader();
var loader5:URLLoader = new URLLoader();
 
loader1.load(new URLRequest("http://-my_test_domain-/hello/world"));
loader2.load(new URLRequest("http://-my_test_domain-/hello/world"));
loader3.load(new URLRequest("http://-my_test_domain-/hello/world"));
loader4.load(new URLRequest("http://-my_test_domain-/hello/world"));
 
five_request();
 
function five_request():void{
		loader5.load(new URLRequest("http://google.com/"));
		}

Старый 09.11.2012, 12:46
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 4  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
LENINGOLD если не сложно поделитесь лонг пуллом. Очень нужно, сократит время на поиски готовой реализации.
__________________
return this...

Старый 09.11.2012, 13:04
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Флеш складывает все запросы посланные в одном кадре в одну очередь (на сколько я знаю, и для NetConnection), но есть шанс, что и для URLLoader так же. Попробуйте в следующем кадре запрос послать.
__________________
Hell is the possibility of sanity

Старый 09.11.2012, 13:33
LENINGOLD вне форума Посмотреть профиль Отправить личное сообщение для LENINGOLD Найти все сообщения от LENINGOLD
  № 6  
Ответить с цитированием
LENINGOLD

Регистрация: Nov 2012
Сообщений: 14
Фишка с запросом в следующим кадре не помогла...
Вот тестовый лонг пулл: http://iddqd.dyndns-at-work.com:28000/hello/world.
Он не всегда работает... Сейчас через 20 сек. ошибка приходит, но потестить можно...

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Не по теме: LENINGOLD поделитесь пожалуйста экземплом лонг-пулла. (нужен в личных целях)
__________________
return this...

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

Регистрация: Nov 2012
Сообщений: 14
У меня такого нет. Серверной частью не занимаюсь.

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

Регистрация: Jun 2011
Сообщений: 127
А если в вашем примере сразу послать 5 запросов на разные домены, а не "http://-my_test_domain-/hello/world" обработает ли ваше приложение их одновременно или тоже по 2?
На самом деле я тоже согласен с Krusty и слышал, что браузеры могут отправлять одновременно максимум по 2 запроса к одному домену. Именно потому иногда файлы сайта раскидываются по поддоменам
"http://subdomain1.-my_test_domain-/hello/world"
"http://subdomain2.-my_test_domain-/hello/world"
"http://subdomain3.-my_test_domain-/hello/world"
"http://subdomain4.-my_test_domain-/hello/world"

Добавлено через 53 секунды
раскидываются по поддоменам чтобы быстрее шла загрузка страницы

Старый 23.11.2012, 15:51
LENINGOLD вне форума Посмотреть профиль Отправить личное сообщение для LENINGOLD Найти все сообщения от LENINGOLD
  № 10  
Ответить с цитированием
LENINGOLD

Регистрация: Nov 2012
Сообщений: 14
Тоже будет только 2 запроса обрабатывать. И тут дело не только в браузере. У десктоп рпиложения на AIR те же проблемы...

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

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

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


 


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


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