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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
Ну вот мы добрались с ТС до нашей игрушки, наконец )
Вы вот тут советуете для начала оффлайновую версию сделать, чтобы понять с чем связались, но мы решили пока вообще раскурить сетевое взаимодействие:
написали сервер на шарпе - висит слушает подключения, все в разных потоках, все как надо... вроде ));
написали клиентскую часть на АС3 - рисует красные кружочки (свой и чужие), перемещает "свой" кружочек и отсылает инфу о его положении на сервер, который затем рассылает ее всем активным клиентам;
теперь запускаем сервер на компе1, на нем же клиентскую часть и коннектимся - все отлично, запускаем клиентскую часть на компе2 и коннектимся - все норм, но когда дело доходит до перемещений, то на компе1, на котором запущен сервер, все норм, а на компе2 перемещение "чужих" кружочков происходит с задержкой.
Собственно, вопрос - в какую сторону копать? И чего не хватает для понимания ситуации? кода может?

Старый 11.07.2012, 01:29
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 12  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
от сетевых лагов нет лекарства
можете вот тут глянуть
http://gafferongames.com/game-physic...orked-physics/
http://habrahabr.ru/post/135306/

А вообще сервер на тредах это что называется моветон. Проблем с синхронизацией не огребетесь, плюс проблема 10к не решите. Ну это если соберетесь решать конечно

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Советую забить пока на лаг. Только посмотреть, почему же оно стало заметно, если эти компы в одной локалке, разницу должно быть сложно глазом заметить. И сделайте, что перемещение своих кружочков происходит тоже только по информации от сервера.
Моветон - это сервер с одним потоком. Проблема 10к существет только для веб серверов. 5к одновременных подключений к одному серверу - число для хороших серверов, хороших админов, которые их настраивают и очень хороших программистов сервера. Ваше первое число юзеров, которое должно держать - 100, 1000 - для не супер сервера - это хорошо, вам хватит.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 11.07.2012, 02:09
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 14  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
zxcv, советую Вам немного пересмотреть подход к обмену данными. В общем случае всегда достаточно обмениваться действиями, а не состояниями. То есть передавать например не положения всех игроков, а лишь их перемещения. Таким образом вы существенно снизите объем передаваемых данных, а значит и лаги уменьшатся.

ramshteks, с чего вдруг многопоточность стала моветоном? Вы понимаете... То есть нет, я не сомневаюсь что вы понимаете, что как правило просто необходимо отделять слой работы с сетью от слоя логики. Да, у них будут точки синхронизации, но все же в основном это абсолютно параллельные вещи.
__________________
...вселенская грусть

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

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

Старый 11.07.2012, 18:34
garymar вне форума Посмотреть профиль Отправить личное сообщение для garymar Найти все сообщения от garymar
  № 16  
Ответить с цитированием
garymar

Регистрация: Sep 2010
Сообщений: 81
Для вашей игрухи советую использовать протокол RTMFP (p2p).
Я считаю это лучший вариант как по скорости так и по затратам.. Не нужен сервер вообще.

По вопросам движка RTMFP писать мне в личку. ))

Старый 11.07.2012, 22:34
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 17  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
2 -De-, 5000 соединений и по 100000 сообщений в минуту в одну и в другую сторону от сервера на двух потоках это по вашему хорошо или плохо? Больше я просто не смог протестить, потому что ноут начал висеть

gloomyBrain отделить бизнес логику от логики ядра(поддержка соединения, отправка и прием сообщений) имея всего два потока можно без проблем, при этом не имея проблем с синхронизацией

Котяра, спорить даже не буду. Хотя сравнивать языки вроде Java и c# с эрлангом немного не корректно, я считаю, так как концепции совершенно разные на мой взгляд. Хотя помнится мне сервер на ерланге(erlyvideo) совершенно не справлялся с той нагрузкой, с которой справлялся сервер на джаве(wowza). К сожалению этим тогда занимался не я, я был лишь свидетелем того, что скрипя зубами, поборники идеи Эрланга, после потраченного времени на настройку эрливидео, покупали лицензию wowza, потому что после испытаний wowza выяснилось, что она работает на ура, в отличии от падающей под нагрузкой erlyvideo. Вполне возможно это лишь проблема erlyvideo а не эрланга, но все же есть над чем задуматься.

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

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


Последний раз редактировалось -De-; 11.07.2012 в 23:56.
Старый 12.07.2012, 01:55
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 19  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
2 -De-, хороший вопрос, ушел думать. Ноут на котором проверялось пятилетней давности и в момент покупки не был самым новым. Отдельные треды создаются только на тяжелые синхронные запросы(вроде к бд или к файловой системе). Легкие же запросы от пользователей не требующие запросов до бд тред не создается. Хочу сказать, что проект на который я сейчас работаю, функционирует на базе сервера работающего по такой же логике. даже в пик(около 6000 юзеров онлайн) он не особо то и загружает выделенный сервер(всмысле машину)

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
мультиплеер , сетевая игра
Опции темы
Опции просмотра

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

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


 


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


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