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

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

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

Регистрация: Nov 2012
Сообщений: 3
По умолчанию Множественные вызовы и amfphp

Здравствуйте!
Делаю простенькую социалку, клиент на чистом as3, сервер - nginx-php-mysql.
Для транспорта между клиентом и сервером решил использовать amfphp, так как это решение показалось наиболее простым, распространенным и проверенным (посмотрел пакеты - даже zynga в своих играх шлет вызовы к gateway.php, а у них-то пассажиропоток - будь здоров!).

Сперва я напоролся на следующую проблему:
При одновременном вызове двух серверных методов (назовем их test1() и test2()) с помощью двух netConnection.call(), оба итоговых ответа приходили одновременно. То есть, если я на стороне сервера ставил внутри функции test1() sleep в 1 секунду, а в test2() ставил sleep в 3 секунды, то оба ответа клиенту приходили через 3 секунды.
Окей, проблема решилась созданием нескольких экземпляров netConnection'а, каждого со своим вызовом connect("gatewayUrl").

Вопросы такие:
1) Правильно ли плодить экземпляры netConnection'а, если мне нужно одновременно послать и получить несколько запросов? Не возникнет ли при этом каких-либо проблем? Или стоит отказаться от этой идеи и реализовать некую очередь: например, ждать прихода первого ответа сервера, прежде чем слать второй; либо паковать запросы к обоим серверным методам, которые нужно вызвать, в один пакет и на стороне сервера разбирать их? Как вернее будет поступить?
2) Есть ли какие-либо советы/примеры/ссылки/статьи/либы/фреймворки, в которых можно нарыть информацию о том как правильные пацаны реализуют связку as3 - amf php, где предполагается множество асинхронных вызовов сервака? Вчерашним вечером ковырял гугл по запросам типа amf/netconnection as3 multiple/asynchronous calls/connections. Чего-либо годного не нашел - всё по мелочи, банальные баги, либо туториалы для новичков. Если кто-то может рассказать по этой теме что-то полезное хотя бы в приватной беседе - буду очень благодарен.

Спасибо.

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
http://www.flasher.ru/forum/showthread.php?t=186623
Смотрите мой пост в самом низу.

Добавлено через 1 минуту
Ничего не плодиться и запросы обрабатываются по ответам от сервера. Так же используйте AMFPHP что я дал в том посте во вложении.
__________________
return this...

Старый 22.11.2012, 16:31
maxmask вне форума Посмотреть профиль Отправить личное сообщение для maxmask Найти все сообщения от maxmask
  № 3  
Ответить с цитированием
maxmask

Регистрация: Nov 2012
Сообщений: 3
AlexCooper,
большое вам спасибо! В принципе, это то что мне было нужно в идеале - рабочий проверенный пример.

Модераторам:
если это необходимо, то можно считать тему закрытой.

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
пожалуйста. Возникнут трудности обращайтесь.
при работе с базой в php писать
PHP код:
public function getData($data) {
    
$data $this->extra($data);
    
$sql "SELECT * FROM `db`.`table` WHERE `table`.`pole`='var'";
    
$query mysql_query($sql)

имеется ввиду то что создавать новое подключение к БД не нужно
__________________
return this...

Старый 22.11.2012, 18:57
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 5  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
maxmask, скажите, а так ли необходим AMFPHP?
Обычный JSON гораздо проще и надежнее.

Старый 22.11.2012, 20:58
maxmask вне форума Посмотреть профиль Отправить личное сообщение для maxmask Найти все сообщения от maxmask
  № 6  
Ответить с цитированием
maxmask

Регистрация: Nov 2012
Сообщений: 3
terbooter,
в некоторых местах проекта понравилось и показалось очень удобным использовать возможность "ненапряжной" передачи типизированных объектов (имею в виду объекты с кастомными типам, конечно). Сервер возвращает, например, объект со свойствами UserVO, который тут же в клиенте становится инстансом такого же класса UserVO. Проще рефакторить, проще писать, не нужно помнить, какие есть свойства у какого ответа сервера и т.п.
А в остальном использовать стал потому что "так делают все" (многие, во всяком случае), ну и однажды участвовал чуть-чуть "на птичьих правах" в портировании социалки с запада в российские сети, а авторы там использовали amf. У меня это как-то отложилось в голове...

Скажите, есть ли какие-либо преимущества у обычных UrlLoader'ных запросов перед AMF, кроме отсутствия прослойки в виде самого AMF? Вы же, наверное, их имели в виду? Или сокеты какие-нибудь?

terbooter, вы подтолкнули меня к прочтению интернетов по этой теме. Вот что я нашел, может кому-то будет интересно:
1) http://www.tricedesigns.com/2011/11/...-applications/ . Краткое резюме: "My findings are that AMF and JSON have comparable performance in smaller record sets. However, AMF seems to have better performance as data sets grow. In my test cases, the 1000+ record results were consistently faster using AMF".
2) http://www.developria.com/2008/09/am...on-vs-xml.html Автор пишет: "The truth is that performance differences between JSON and AMF are not that wide". Он дает ссылку на чужое исследование, правда, ссылку битую.
Тем не менее, если есть плюсы использования простых пересылов JSON'а по сравнению с amf, буду рад их услышать.


Последний раз редактировалось maxmask; 22.11.2012 в 21:18. Причина: Поискал тесты
Создать новую тему Ответ Часовой пояс GMT +4, время: 09:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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