Просмотр полной версии : flash online, вонтакте.
Есть такая задача. Нужно, чтобы две флешки обменивались данными. Быстро. Нужно отсылать по пять байтов от каждой флешки каждой флешке минимум десять раз в секунду. По некорым причинам (это - вконтактовое приложение) JavaScript отсутствует. Насколько я понимаю, остается три решения:
- Использовать встроенные вконтакт функции (sendMessage и getMessages). Минус - про нормальную скорость можно забыть, там ее нету.
- Использовать сторонний сервер. Только вот вопрос: справится ли php на самом обычном сервере на masterhost, если будет принимать данные от каждой флешке, записывать их в базу данных, а потом брать оттуда и слать другой флешке 10 раз в секунду? не взорвется ли он нафиг?
- Есть еще последняя надежда, что можно как-то реализовать непосредственный обмен данными между флешками. Или нельзя? ну хотя бы пять байт?
Подскажите, пожалуйста, как это можно сделать? Может, есть еще какой-нибудь способ?
1. sendMessage и getMessages нормально.
2. будет много пользователей - взорвется нафиг.
3. флешки заливаются на сервера вконтакте. так что врядли.
Добавлено через 2 минуты
А вообще Вам сюда:
http://www.flasher.ru/forum/forumdisplay.php?f=61
и сюда:
http://vkontakte.ru/topic-2226515_3507340#offset=2680
CrazyFlasher
30.11.2009, 19:57
флешки заливаются на сервера вконтакте. так что врядли.
ничего не мешает вам поставить только прелоадер и приложение грузить откуда угодно
Для таких вещей надо юзать сокет сервер.
А вообще зачем вам нужно 10 раз в секунду бомбить если не секрет?
bicubic_bublic
30.11.2009, 20:13
есть еще вариант - использовать сторонний сервер и сокеты..
когда будут тысячи и сотни тысяч пользователей, при таком количестве запросов сервер ляжет. 10 раз в секунду это слишком.
а как еще сделать какую-нибудь стрелялку онлайн? (к примеру)
Можно использовать smartfox server, правда он платный после 20 коннектов, но если Вам достаточно 20 одновременных коннектов , то можно его пользовать.
psylover
30.11.2009, 22:02
а как построить адронный коллайдер ? (к примеру)
anmelegov
30.11.2009, 22:10
10 раз в секунду это слишком... уменьшай скорость бега твоих игроков, тогда прирост координат за промежуток времени между запросами будет меньше...
еще как вариант передавать остальным пользователям не настоящие координаты, а направления. т.е Я нажимаю кнопку "вперед", остальным передается 1 запрос "Игрок 1 двигается вперед с N-ой скоростью ". А путь прощитывается уже на клиенте. Мне кажеться это уменьшит количество запросов. Сам не пробывал но мне кажется будет работать.
gloomyBrain
01.12.2009, 12:39
не настоящие координаты, а направления
А путь прощитывается уже на клиенте
Вот как раз при таком раскладе путь должен вычисляться сервером.
И затем должна идти рассылка координат всех игроков всем игрокам.
То есть сэкономить можно на входящем трафике для сервера.
CrazyFlasher
01.12.2009, 13:40
10 раз в секунду это порно.
Надо рассылать команды...типа пошёл влево, присел...пальнул и т.д. синхронизировать, например, не чаще, чем раз в секунду.
например как тут:
http://www.flasher.ru/forum/showthread.php?t=132695
cleptoman
01.12.2009, 15:18
только сокеты, ИМХО
Понял, спасибо. Действительно, не подумал, трех раз в секунду вполне может хватить, если потом плавно двигать на клиенте игроков к полученным координатам
anmelegov
01.12.2009, 22:14
еще как вариант передавать остальным пользователям не настоящие координаты, а направления. т.е Я нажимаю кнопку "вперед", остальным передается 1 запрос "Игрок 1 двигается вперед с N-ой скоростью ". А путь прощитывается уже на клиенте. Мне кажеться это уменьшит количество запросов. Сам не пробывал но мне кажется будет работать.
ничего не уменьшит, разве что в ущерб точности, но тогда уже без разницы что передавать, вектор перемещения или координаты
А не могли бы вы посоветовать мне какой-нибудь учебник по сокетам? а то я сообразил - ограничение на api.php не более 3х запросов в секунду означает, что в игре скорость обновления будет максимум раз в секунду (нужно не только отослать инфу, но ведь еще и получить).
bicubic_bublic
05.12.2009, 19:08
А не могли бы вы посоветовать мне какой-нибудь учебник по сокетам?
http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/net/Socket.html
Все, спасибо, понял. Это не для меня, слишком сложно. Буду пробовать по другому, появилась наивная, но пока не обломаная мысль.
Помойму вы сами для себя создаете трудности.
Гы... тоже планируем сделать стрелялку для вконтакта после того как добьем гонки для вконтакта
Venya2007
10.12.2009, 12:06
- Есть еще последняя надежда, что можно как-то реализовать непосредственный обмен данными между флешками. Или нельзя? ну хотя бы пять байт?
Подскажите, пожалуйста, как это можно сделать? Может, есть еще какой-нибудь способ?
LocalConnection
bicubic_bublic
10.12.2009, 13:31
LocalConnection
если обмен данными между флешками на одной машине.
никак нельзя напрямую организовать общение флешек с разных машин.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.