PDA

Просмотр полной версии : flash online, вонтакте.


4ufak
30.11.2009, 19:30
Есть такая задача. Нужно, чтобы две флешки обменивались данными. Быстро. Нужно отсылать по пять байтов от каждой флешки каждой флешке минимум десять раз в секунду. По некорым причинам (это - вконтактовое приложение) JavaScript отсутствует. Насколько я понимаю, остается три решения:
- Использовать встроенные вконтакт функции (sendMessage и getMessages). Минус - про нормальную скорость можно забыть, там ее нету.
- Использовать сторонний сервер. Только вот вопрос: справится ли php на самом обычном сервере на masterhost, если будет принимать данные от каждой флешке, записывать их в базу данных, а потом брать оттуда и слать другой флешке 10 раз в секунду? не взорвется ли он нафиг?
- Есть еще последняя надежда, что можно как-то реализовать непосредственный обмен данными между флешками. Или нельзя? ну хотя бы пять байт?

Подскажите, пожалуйста, как это можно сделать? Может, есть еще какой-нибудь способ?

xpymbl4
30.11.2009, 19:36
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
есть еще вариант - использовать сторонний сервер и сокеты..

xpymbl4
30.11.2009, 20:17
когда будут тысячи и сотни тысяч пользователей, при таком количестве запросов сервер ляжет. 10 раз в секунду это слишком.

4ufak
30.11.2009, 21:51
а как еще сделать какую-нибудь стрелялку онлайн? (к примеру)

Aerohd
30.11.2009, 22:01
Можно использовать smartfox server, правда он платный после 20 коннектов, но если Вам достаточно 20 одновременных коннектов , то можно его пользовать.

psylover
30.11.2009, 22:02
а как построить адронный коллайдер ? (к примеру)

anmelegov
30.11.2009, 22:10
10 раз в секунду это слишком... уменьшай скорость бега твоих игроков, тогда прирост координат за промежуток времени между запросами будет меньше...

Fillini
01.12.2009, 10:13
еще как вариант передавать остальным пользователям не настоящие координаты, а направления. т.е Я нажимаю кнопку "вперед", остальным передается 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
только сокеты, ИМХО

4ufak
01.12.2009, 16:09
Понял, спасибо. Действительно, не подумал, трех раз в секунду вполне может хватить, если потом плавно двигать на клиенте игроков к полученным координатам

anmelegov
01.12.2009, 22:14
еще как вариант передавать остальным пользователям не настоящие координаты, а направления. т.е Я нажимаю кнопку "вперед", остальным передается 1 запрос "Игрок 1 двигается вперед с N-ой скоростью ". А путь прощитывается уже на клиенте. Мне кажеться это уменьшит количество запросов. Сам не пробывал но мне кажется будет работать.
ничего не уменьшит, разве что в ущерб точности, но тогда уже без разницы что передавать, вектор перемещения или координаты

4ufak
05.12.2009, 18:40
А не могли бы вы посоветовать мне какой-нибудь учебник по сокетам? а то я сообразил - ограничение на api.php не более 3х запросов в секунду означает, что в игре скорость обновления будет максимум раз в секунду (нужно не только отослать инфу, но ведь еще и получить).

bicubic_bublic
05.12.2009, 19:08
А не могли бы вы посоветовать мне какой-нибудь учебник по сокетам?

http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/net/Socket.html

4ufak
05.12.2009, 19:56
Все, спасибо, понял. Это не для меня, слишком сложно. Буду пробовать по другому, появилась наивная, но пока не обломаная мысль.

Kyd
07.12.2009, 06:07
Помойму вы сами для себя создаете трудности.

KKA
09.12.2009, 23:01
Гы... тоже планируем сделать стрелялку для вконтакта после того как добьем гонки для вконтакта

Venya2007
10.12.2009, 12:06
- Есть еще последняя надежда, что можно как-то реализовать непосредственный обмен данными между флешками. Или нельзя? ну хотя бы пять байт?

Подскажите, пожалуйста, как это можно сделать? Может, есть еще какой-нибудь способ?

LocalConnection

bicubic_bublic
10.12.2009, 13:31
LocalConnection

если обмен данными между флешками на одной машине.

никак нельзя напрямую организовать общение флешек с разных машин.