О архитектуре сетевого клиента

Общие вопросы о Unity3D

О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 01:14

Привет. Если в случае с сервером, я создавал свой клиентский класс для каждого клиента, а в этом классе уже были асинхронные методы для принятия и отправки данных клиентам. То как запилить клиент? Ведь если у нас будет 50 игроков в 1 локации, то 1 клиент должен получать инфу (координаты, например) об остальных 49 игроках и вовремя изменять ее. А если мы будет изменять ее синхронно, то есть сначала 1 игрок, потом второй и так до 49, то ведь последний игрок будет слоупоком и на самом деле его позиция может уже измениться пару раз, а очередь к нему еще не дошла. Как бы сделали вы?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Order 10 мар 2013, 07:55

Сервер собирает информацию с клиентов, формирует пакет с данными и рассылает всем , клиенты выбирают свои данные, для игроков и своего перса.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 10:26

Order писал(а):Сервер собирает информацию с клиентов, формирует пакет с данными и рассылает всем , клиенты выбирают свои данные, для игроков и своего перса.


Значит серверу надо будет дожидаться пока все подключенные клиенты отправят инфу. А трафика не много будет для клиента? Так везде делают?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Sality 10 мар 2013, 12:00

Вы же сами написали на сервере у вас асинхронный способ. Почему же вы ниже пишите про синхронный. сервер асинхронно принимает данные от клиентов и тут же их рассылает независимо от того, все клиенты прислали данные или нет
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 12:25

Sality писал(а):Вы же сами написали на сервере у вас асинхронный способ. Почему же вы ниже пишите про синхронный. сервер асинхронно принимает данные от клиентов и тут же их рассылает независимо от того, все клиенты прислали данные или нет

да забейте на сервер, главное понять, как лучше будет для клиента. Принимать 49 сообщений с данными о одном клиенте или 1 сообщение с данными о 49 клиентах
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Diab10 10 мар 2013, 12:44

Я сделал отсылку координат о всех игроках в 1 сообщении
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 13:18

Diab10 писал(а):Я сделал отсылку координат о всех игроках в 1 сообщении

а как клиент их растаскивает по нужным GO ?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Diab10 10 мар 2013, 14:02

Ну я посылаю массив объектов. В каждом объекте id игрока, координаты. Далее по id присваиваю в игре координаты куда надо
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 14:25

Diab10 писал(а):Ну я посылаю массив объектов. В каждом объекте id игрока, координаты. Далее по id присваиваю в игре координаты куда надо

а интерполяция у вас есть?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Diab10 10 мар 2013, 14:43

Конечно
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 14:58

Diab10 писал(а):Конечно

а как у вас она происходит. Берете данные из массива и интерполируете, и так по очереди с каждым элементом массива?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Diab10 10 мар 2013, 15:15

Просто Lerp делаю между старой и новой координатой
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 16:24

Diab10 писал(а):Просто Lerp делаю между старой и новой координатой

так Lerp же занимает время какое-то, а новые координаты в это время поступают, у вас не бывает такой штуки, когда новые координаты уже пришли, а лерп еще интерполирует?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: О архитектуре сетевого клиента

Сообщение Diab10 10 мар 2013, 18:45

Ну если приходят, то Лерп начинается для следующей координаты из того места, где остановилось
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: О архитектуре сетевого клиента

Сообщение Chaz 10 мар 2013, 23:16

Diab10 писал(а):Ну если приходят, то Лерп начинается для следующей координаты из того места, где остановилось

спс за идею xD
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

След.

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13