![]() |
передача в socket
Вообщем не знаю что делать. Надо передать информацию в сокет. Все хорошо передается но есть одно но!
Делаю рисовалку через сокет, она 90% отправленных данных теряет... Заметил я это когда в чате пытался пофлудить.. Видимо какой-то есть в сокете затык на эту тему. Отсюда напрашивается вывод, что надо как-то нарисованый объект от момента нажатия мыша до момента отпускания сохранить в буфер и после этого отправить в сокет... И так со следующим... Есть в AS3 какие-то возможности для такого?? Если есть, отправьте куда надо:-)) Может у кого есть готовое решение? |
Цитата:
|
Любите пофлудить? Все отправляется, но если отправлять 100 пакетов в секунду то 90% теряется.
Попробуйте увидите. Добавлено через 19 минут Код AS1/AS2:
|
Цитата:
Все ваши темы звучат примерно так: "У меня что-то не работает, объясните почему. Но только по теме!" И пофиг что эта тема для телепатов. Я могу с уверенность сказать, что я делал реалтаймовые игры на сокетах, и у меня ничего не тярелось. Точнее сказать потери в сети всегда возможны, но точно не в таких объемах. Отправлять по 100 пакетов в секунду - явный перебор. Это DDOS бот что ли?) Надо делать буфер, копить какую-то инфу, и после этого отправлять. 100 раз в секунду слать что-то на сервер точно не нужно. |
Цитата:
|
Цитата:
Рисовалка!!! Она по движению мыши создает координаты! Координат этих туева хуча. Эти координаты я отправляю на сервер! Где я написал что у меня что-то не получается? Я спросил какие варианты реализации, потому что по сути получается ддос.. МОжет кстати по этому и теряются пакеты. Как реализовать буфер на as3? покажите пример? И до кучи вашу игру которую вы сделали, поиграю.:-)) |
Цитата:
Цитата:
|
извините
Добавлено через 58 секунд подкиньте идею как записать движение мыша в массив??? |
А как получаются 100 пакетов в секунду? Что-то я при всем желании не могу это представить.
Алгоритм, который сходу придумывается: в течение N кадров/секунд записываете историю рисования (риализовываете через массив с экземплярами кастомного класса с историей), затем после этого отправляете полученный массив координат и действий в пакете. По истории посоветую сделать базовый класс, от него отнаследовать классы типа ChangeColorHistory, MouseDownHistory, MouseUpHistory, MouseMoveHistory и тд. Затем сериализуете каждую частичку истории и добавляете в пакет. По сокетам посоветую свои давнишние статьи, может быть подмогнут где-то с чем-то: http://www.flasher.ru/forum/blog.php?b=579 |
Да я попробовал отправлять все изменения координат мыша через сокет... если мышкой медленно рисовать, то все рисуется. если быстро, то пакеты теряются и вместо круга квадрат получается.
Я в AS всего 5 день что-то делаю и во Flash CS6 поэтому про классы я не ведаю. Пишу в IDE. Алгоритм я думаю правильным такой, от нажатия мышки до отпускания собрать то что происходило с координатами в массив... А вот как собрать это в массив.... Код AS3:
А может у меня сокет криво работает? Добавлено через 12 минут Читаю статью, интересно. Код AS3:
Гляньте, может у меня в отправке данных что-то не то? Или они там теряются на приеме? Или реально столько много нельзя отправлять? |
| Часовой пояс GMT +4, время: 12:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.