Как мне реализовать COMET для моей (Flash) браузерной игры? - PullRequest
0 голосов
/ 09 июля 2010

В настоящее время я пытаюсь написать браузерную игру, которая позволяет нескольким пользователям перемещаться по 2D-карте.Он основан на RPG и требует COMET в качестве метода для двух пользователей, появляющихся и взаимодействующих на одном экране, если они появляются в одном кадре.

Кроме того, в игру я встраиваю карты в файл SWF, но я использую HTTP-запросы для получения данных с локального сервера, когда игрок входит в некоторые ключевые зоны, которые я выделил.Я думал об использовании XMLSocket, но мне было интересно, есть ли библиотека или какая-то другая реализация, отличная от XMLSocket, которая поможет мне передавать или передавать информацию нескольким браузерам.

(Кстати, я относительно новичок во взаимодействии с Flash и сервером-клиентом, изучаю его около 4 недель ... ссылки полезны!)

Ответы [ 2 ]

1 голос
/ 27 июня 2011

Единственное реальное решение - Long-Polling или Streaming ... BlazeDS реализует оба.

0 голосов
/ 09 июля 2010
  • Я слышал, что BlazeDS и LiveCycle Data Services от Adobe поддерживают передачу данных.В то время как LCDS является коммерческим, первый - с открытым исходным кодом .Я не использовал ни один из них, поэтому не могу ничего сказать о производительности или других аспектах.
  • Использование XMLSocket требует от пользователя открытия соответствующего порта, который может быть заблокирован брандмауэром (иногдакорпоративный брандмауэр, над которым пользователь не имеет никакого контроля).(это относится даже к BlazeDS и LCDS, я полагаю).
  • Вы можете попробовать старую добрую комбинацию URLLoader + URLRequest, чтобы опросить сервер через фиксированные интервалы для обновлений.Если вы планируете попробовать длительный опрос (удерживая ответ, пока что-то не произойдет), имейте в виду, что флэш-тайм-аут запрашивает URL-адреса через 30 секунд.
...