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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
По умолчанию Альтернатива сокету

Речь идет об он-лайн играх и в частности об играх под социальные сети.

Суть: обмен с сервером в игре реализован через сокет. Часть юзеров не может играть, так как порты для сокета у них там в файрволлах и админках заблочены.

Задача: установить факт нефункционирования сокета ( таймаут и т.п. - тривиально ) и включить альтернативный протокол обмена с сервером, чтобы юзерок играть все-таки смог.

Вопрос: что наиболее близко к сокету, и как кто данную задачу решил ( если она вообще решаема и на таких юзеров просто не следует плюнуть ).

Нюанс: сокет - асинхронный, http запросы - синхронные. Логику обмена придется просто напросто писать вторую, и, как мне кажется, полностью. Соотв. все обновления и модификации придется делать дважды - в обоих протоколах. Поступило предложение юзать long-poll, как некий закос под асинхронность. Который в свою очередь также любит резаться проксями и антивирами.

Кто что скажет, посоветует, приведет примеры реализации?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 09.08.2011, 11:26
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 2  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Нюанс: сокет - асинхронный, http запросы - синхронные.
Скорей всего ты имеешь в виду событийный и rpc?
Можно завести один только событийный протокол.
1 коннектимся по сокету.
2 потом long-poll http-CONNECT
3 обычный ping для проверки сообщений с сервера и отправка сразу при отправке.
Стандартный набор.
__________________
Отряд Котовскага

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Главное - прикиньте просто по бабкам - выгодно ли такое делать? Одной моей подруге с её парнем было не выгодно.
Если таки да, то рекомендую сделать второй сервак, к которому коннектится бессокетный клиент, затем этот сервак коннектится уже сокетом к основному и основной (почти) не подозревает, что клиент бессокетный.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 09.08.2011, 12:34
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 4  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
брррр...
Цитата:
этот сервак коннектится уже сокетом к основному и основной (почти) не подозревает, что клиент бессокетный
Это всё решается несложной обёрткой на сервере и клиенте.
__________________
Отряд Котовскага

Старый 09.08.2011, 12:48
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 5  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
long-poll http-CONNECT

Так. Я слышал что у nginx таймаут этой фигни 60 сек, потом начинаются траблы?
У нас сейчас вариант - 50 сек держать, потом реконнект.
Но 50 сек для файрволла.... Как-то.....
Потому вариант два - 6 сек, реконнект.... В общем случае серверщик задвинул тему вообще пинговать серв раз в 1 (одну) секунду.... и смотреть что нам приходит..... но это же бред?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 09.08.2011, 13:11
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 6  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
это 3 вариант - если не проходит long-poll
вполне себе нормально для нереалтайма. (карты и фермы)
Гена ничего такого страшного в этих схемах нет. главное продумать систему пакетов. чтоб по пингу отправлялся пакет накопленных сообщений.
от клиента при каждой отсылке ,кстати берём заодно и всё что накопилось. и сдвигаем таймер.
просто по сокету данные шлются сразу. по лонгполю (почти) тоже, а по пингу просто добавляются в пакет, который как только клиент что-то спросит отправляется и очищается.
__________________
Отряд Котовскага


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

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

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


 


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


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