|
|
|||||
Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
|
Ну вот мы добрались с ТС до нашей игрушки, наконец )
Вы вот тут советуете для начала оффлайновую версию сделать, чтобы понять с чем связались, но мы решили пока вообще раскурить сетевое взаимодействие: написали сервер на шарпе - висит слушает подключения, все в разных потоках, все как надо... вроде )); написали клиентскую часть на АС3 - рисует красные кружочки (свой и чужие), перемещает "свой" кружочек и отсылает инфу о его положении на сервер, который затем рассылает ее всем активным клиентам; теперь запускаем сервер на компе1, на нем же клиентскую часть и коннектимся - все отлично, запускаем клиентскую часть на компе2 и коннектимся - все норм, но когда дело доходит до перемещений, то на компе1, на котором запущен сервер, все норм, а на компе2 перемещение "чужих" кружочков происходит с задержкой. Собственно, вопрос - в какую сторону копать? И чего не хватает для понимания ситуации? кода может? |
|
|||||
от сетевых лагов нет лекарства
можете вот тут глянуть http://gafferongames.com/game-physic...orked-physics/ http://habrahabr.ru/post/135306/ А вообще сервер на тредах это что называется моветон. Проблем с синхронизацией не огребетесь, плюс проблема 10к не решите. Ну это если соберетесь решать конечно |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Советую забить пока на лаг. Только посмотреть, почему же оно стало заметно, если эти компы в одной локалке, разницу должно быть сложно глазом заметить. И сделайте, что перемещение своих кружочков происходит тоже только по информации от сервера.
Моветон - это сервер с одним потоком. Проблема 10к существет только для веб серверов. 5к одновременных подключений к одному серверу - число для хороших серверов, хороших админов, которые их настраивают и очень хороших программистов сервера. Ваше первое число юзеров, которое должно держать - 100, 1000 - для не супер сервера - это хорошо, вам хватит.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
zxcv, советую Вам немного пересмотреть подход к обмену данными. В общем случае всегда достаточно обмениваться действиями, а не состояниями. То есть передавать например не положения всех игроков, а лишь их перемещения. Таким образом вы существенно снизите объем передаваемых данных, а значит и лаги уменьшатся.
ramshteks, с чего вдруг многопоточность стала моветоном? Вы понимаете... То есть нет, я не сомневаюсь что вы понимаете, что как правило просто необходимо отделять слой работы с сетью от слоя логики. Да, у них будут точки синхронизации, но все же в основном это абсолютно параллельные вещи.
__________________
...вселенская грусть |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
__________________
Отряд Котовскага |
|
|||||
Регистрация: Sep 2010
Сообщений: 81
|
Для вашей игрухи советую использовать протокол RTMFP (p2p).
Я считаю это лучший вариант как по скорости так и по затратам.. Не нужен сервер вообще. По вопросам движка RTMFP писать мне в личку. )) |
|
|||||
2 -De-, 5000 соединений и по 100000 сообщений в минуту в одну и в другую сторону от сервера на двух потоках это по вашему хорошо или плохо? Больше я просто не смог протестить, потому что ноут начал висеть
gloomyBrain отделить бизнес логику от логики ядра(поддержка соединения, отправка и прием сообщений) имея всего два потока можно без проблем, при этом не имея проблем с синхронизацией Котяра, спорить даже не буду. Хотя сравнивать языки вроде Java и c# с эрлангом немного не корректно, я считаю, так как концепции совершенно разные на мой взгляд. Хотя помнится мне сервер на ерланге(erlyvideo) совершенно не справлялся с той нагрузкой, с которой справлялся сервер на джаве(wowza). К сожалению этим тогда занимался не я, я был лишь свидетелем того, что скрипя зубами, поборники идеи Эрланга, после потраченного времени на настройку эрливидео, покупали лицензию wowza, потому что после испытаний wowza выяснилось, что она работает на ура, в отличии от падающей под нагрузкой erlyvideo. Вполне возможно это лишь проблема erlyvideo а не эрланга, но все же есть над чем задуматься. |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
ramshteks, ни о чем. Что за сервер? Для веб серверов вон 10к описываются, ноут по идее вот где-то как у вас. Но если это игровой сервер, с сложной логикой у игроков и взаимодействием с БД, то скорее всего не в сетку упрётесь. Как у вас оно на восьмиядерный сервер масштабируется?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 11.07.2012 в 23:56. |
|
|||||
2 -De-, хороший вопрос, ушел думать. Ноут на котором проверялось пятилетней давности и в момент покупки не был самым новым. Отдельные треды создаются только на тяжелые синхронные запросы(вроде к бд или к файловой системе). Легкие же запросы от пользователей не требующие запросов до бд тред не создается. Хочу сказать, что проект на который я сейчас работаю, функционирует на базе сервера работающего по такой же логике. даже в пик(около 6000 юзеров онлайн) он не особо то и загружает выделенный сервер(всмысле машину)
|
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Дык, сперва был один поток, потом стало два, теперь уже вроде и три не предел %)
А вообще интересно, что за игра, хтоь в общем? Обновления мира (ну вот примерно как у авторов топика) есть?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
Часовой пояс GMT +4, время: 11:12. |
|
« Предыдущая тема | Следующая тема » |
Теги |
мультиплеер , сетевая игра |
Опции темы | |
Опции просмотра | |
|
|