Войти
ПрограммированиеФорумСеть

Серверная часть для масштабной MMORPG (15 стр)

Страницы: 114 15 16 17 18 Следующая »
#210
14:04, 8 авг 2022

IndieDev
> Для клиент-серверного общения никакой nat punchthrough не требуется, это для
> P2P общения
только начинаю с этим разбираться, есть гарантия что UDP порт вдруг не поменяется на лету даже при схеме клиент (за чёрти-чем) - сервер с белым IP?

например ENet жёстко привязывает клиента, и если адрес порт не совпадают, то игнорит клиента а потом отключает по таймауту
мне кажется не самый лучший подход

#211
14:08, 8 авг 2022

#!

только начинаю с этим разбираться, есть гарантия что UDP порт вдруг не поменяется на лету даже при схеме клиент (за чёрти-чем) - сервер с белым IP?

На счет гарантии - без понятия, это надо уже для каждой ОСи читать документацию.
Что касается внешнего IP, то обязательно, а как вы хотите принимать соединения имея серый IP?
Если вы знаете такой способ, то расскажите мне тоже, а то не хочется за внешний IP адрес провайдерам переплачивать (no-ip не в счет)

например ENet жёстко привязывает клиента, и если адрес порт не совпадают, то игнорит клиента а потом отключает по таймауту
мне кажется не самый лучший подход

Не уверен, что правильно понял, но ответ примерно такой "а какой смысл начинать общение непонятно с кем?"

#212
14:13, 8 авг 2022

IndieDev
> "а какой смысл начинать общение непонятно с кем?"
это может быть тот же клиент с которым до этого нормально общались
просто у него "скакнул" порт из-за "чёрти-чего"
и сервер его уже не признаёт, что беда для такого клиента

#213
14:15, 8 авг 2022

#!
> это может быть тот же клиент с которым до этого нормально общались
> просто у него "скакнул" порт из-за "чёрти-чего"
> и сервер его уже не признаёт, что беда для такого клиента

Не знаю честно говоря, как там может порт "скакнуть" и думаю, что
это мало имеет отношения к протоколам, порт и на TCP может "скакнуть", согласны?

#214
(Правка: 14:23) 14:19, 8 авг 2022

IndieDev
> это мало имеет отношения к протоколам
это имеет отношение к провайдерам их оборудованию

> порт и на TCP может "скакнуть", согласны?
на TCP не может ибо создаётся соединение, в UDP соединений нет
и порт разумно переиспользовать

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

#215
14:31, 8 авг 2022

#!
>на TCP не может ибо создаётся соединение, в UDP соединений нет
Кажется, это не имеет никакого отношения к портам и сокетам.

#216
14:36, 8 авг 2022

IndieDev
> Вы можете предоставить ссылку на статью об этом?
Нет, это данные полученные на личном опыте, а не теория. Мне в целом все равно, в чем в конкретном случае дело: в маленьком тайм-ауте на UDP «сессию», в закрытии портов фаерволом, в произволе провайдера которому не нравится UDP трафик, суть в том что есть заметное количество потенциальных игроков которые не смогут играть по UDP

#217
14:45, 8 авг 2022

IndieDev
> И никаких jitter'ов там нет, так что пакеты отправляются моментально.
Ты точно понимаешь о чем говоришь? Jitter может быть вызван разницей маршрутов, загрузкой сетевого оборудования по пути и и.п., причём тут протокол?!

#218
14:49, 8 авг 2022

Вий
> в произволе провайдера которому не нравится UDP трафик
там железо настроено так что первым под нож идёт UDP трафик ибо он может теряться по определению
но вообще сейчас все довольно жирные и канал у них не заткнуть просто так

#219
15:09, 8 авг 2022

"Скакнуть" может не только порт, но и адрес. У большинства тут адрес динамический, он обычно "скачет" раз в сутки. Но видел мобильных провайдеров, у которых адрес скакал каждый пять минут.
Многие программы умудряются при этом выживать. Часто даже требование такое выставляют при разработке, чтобы смена адреса не обрывала связь.

#220
15:16, 8 авг 2022

Zab
> Часто даже требование такое выставляют при разработке, чтобы смена адреса не
> обрывала связь.
Невозможно.

+ Показать
#221
15:16, 8 авг 2022

Вий
>Ты точно понимаешь о чем говоришь? Jitter может быть вызван разницей маршрутов, загрузкой сетевого оборудования по пути и и.п., причём тут протокол?!
Да, извиняюсь, я имел в виду nagle

#222
15:21, 8 авг 2022

Super_inoy
> а вот автореконнект с определением сессии по другим параметрам возможен
Так и делают. И что в этом невозможного?

#223
15:23, 8 авг 2022

Zab
> Так и делают. И что в этом невозможного?
То что связь то оборвалась. И реконнект не мгновенный, поэтому это так или иначе заметно.

#224
15:29, 8 авг 2022

Super_inoy
В случае UDP никакого обрыва то и нет, клиент шлет себе и шлет, но в какой-то момент его адрес меняется, а он этого не замечает и продолжает слать как ни в чем не бывало.
Серверу же надо как-то сообразить, что вот этот новый клиент ни фига не новый и продолжить работу, поправив свои данные.

Страницы: 114 15 16 17 18 Следующая »
ПрограммированиеФорумСеть