Пятница, 29 Марта 2024, 09:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум игроделов » Программирование » Программирование .NET » Сетевая библиотека вместе!
Сетевая библиотека вместе!
drcrackДата: Вторник, 06 Ноября 2018, 21:50 | Сообщение # 21
старожил
Сейчас нет на сайте
Цитата
Так я и говорю, используйте udp для передачи данных (файлы, видео, аудио), для игр подойдет и tcp. У нормально написанной игры, на одного пользователя приходится мало трафика). И это аргумент. Давай проще так - ты сервер на UDP скинь, я замерию против своего TCP на работе нагружу их по несколько тысяч пользователей, будут просто передавать несколько строк друг другу, и посмотрим какая производительность будет и сравним так сказать... Кстати, ребят кому грамотная проверка на нагрузку нужна - обращайтесь. Загружу ваш сервак 10+к пользователями, отчеты заскриню))))

причем здесь загрузка вообще? crazy речь о задержке и лагах вызванных потерями
во всех современных сетевых играх используется udp (за исключением разве что пошаговых и браузерных), ты либо тролль, либо тебе стоит немного матчасть подучить.


Сообщение отредактировал drcrack - Вторник, 06 Ноября 2018, 21:50
programMainДата: Вторник, 06 Ноября 2018, 22:17 | Сообщение # 22
частый гость
Сейчас нет на сайте
Цитата drcrack ()
причем здесь загрузка вообще? речь о задержке и лагах вызванных потерями
во всех современных сетевых играх используется udp (за исключением разве что пошаговых и браузерных), ты либо тролль, либо тебе стоит немного матчасть подучить.

Слушай, ты по-моему думаешь что много знаешь... Посмотрим на WOW и порты и протоколы по которому он общается и для чего:
TCP 1119 – Соединение с серверами battle.net и серверами World of Warcraft

TCP 3724 – Соединение серверами World of Warcraft, а также Blizzard Downloader

TCP 6881–6999 — Blizzard Downloader

UDP 3724 – голосовой чат игры World of Warcraft

TCP 1120 – Соединение с серверами battle.net и серверами World of Warcraft

И как мы видим, UDP только для голосовых чатов, даже качают через TCP файлы... Умник...
drcrackДата: Вторник, 06 Ноября 2018, 22:37 | Сообщение # 23
старожил
Сейчас нет на сайте
wow во-первых tab-targeted и достаточно медленный, во-вторых все негативные последствия этого tcp очень сильно ощущаются на плохом соединении и никого не радуют, в-третьих он начал разрабатываться на движке warcraft 3 в 1998 году и относить его к современным играм несколько странно

возьми лучше любой популярный шутер типо csgo/pubg/fortnite или даже мобу lol/dota2/hots и удивись
programMainДата: Вторник, 06 Ноября 2018, 23:40 | Сообщение # 24
частый гость
Сейчас нет на сайте
Ты думаешь о чем ты говоришь? Смотри, я сказал что UDP это хорошо, но использовать правильно TCP начинающим разработчикам - его полностью хватит. Самые крутые игры от того же близард используют и TCP и UDP. И я не знаю откуда ты берешь свои источники... Но вот тебе список используемых портов TCP и UDP для всех игр близард, взято с их официального сайта. А ты за место того что бы умничать, и тыкать мне на понижение репутации признал бы, что по протоколу TCP тоже работают игры, причем все, причем непосредственно в игровом процессе....

приложение Battle.net от Blizzard TCP - 80, 443, 1119 UDP - 80, 443, 1119
Голосовой чат Blizzard TCP - 80, 443, 1119 UDP - 3478-3479, 5060, 5062, 6250, 12000-64000
Blizzard Downloader TCP - 1119, 1120, 3724, 4000, 6112, 6113, 6114 UDP - 1119, 1120, 3724, 4000, 6112, 6113, 6114
Diablo TCP -6112-6119 UDP - 6112-6119
Diablo II TCP - 6112 и 4000 UDP - отсутствует
Diablo III TCP - 80, 1119 UDP - 1119, 6120
Hearthstone TCP - 1119, 3724 UDP - 1119, 3724
Heroes of the Storm TCP - 80, 443, 1119-1120, 3724, 6113 UDP - 80, 1119-1120, 3478-3479, 3724, 5060, 5062, 6113, 6250, 12000-64000
Overwatch TCP - 1119, 3724, 6113, 80 UDP - 3478-3479, 5060, 5062, 6250, 12000-64000
StarCraft TCP -6112 UDP - 6112
StarCraft II TCP - 1119, 6113, 1120, 80, 3724 UDP - 1119, 6113, 1120, 80, 3724
Warcraft II Battle.net Edition TCP -6112-6119 UDP-6112-6119
Warcraft III TCP-6112 (по умолчанию) и 6113-6119 UDP-отсутствует
World of Warcraft уже писал
Call of Duty - Black Ops 4 TCP - 443, 3074 UDP - 443, 3074

Так что хватит говорить ерунду, что TCP в играх не используется... Используется, причем везде....

Добавлено (07 Ноября 2018, 00:00)
---------------------------------------------
Хочу заметить, что в некоторых играх они вообще от UDP отказались...

qazerДата: Среда, 07 Ноября 2018, 11:41 | Сообщение # 25
Borey Games
Сейчас нет на сайте
programMain,
https://gafferongames.com/post/udp_vs_tcp/
Вот тебе аргументы, почему не стоит использовать TCP при отправке критичных ко времени данных.

Никто не говорит, что использовать TCP - плохая идея. Тебе пытаются объяснить, что все подходит для своих задач.

Все что касается соединения с веб-сервисами - всякие загрузчики, приложение Battle.net и т.д. - понятно почему используется TCP. Понятно, что в лобби игр может использоваться TCP. В медленных играх используют TCP как основной транспортный протокол. В самом геймплее TCP может использоваться для отправки незначительных данных о состоянии игрока на внешние сервисы, статистики и т.д.

НО! Стоит смотреть не на порты которые открыты, а на траффик который через них идет. Положение персонажа в играх с быстрым темпом игры(шутерах например) не будет идти по TCP. Куча других данных, для которых важно, чтобы они были доставлены максимально быстро не будут идти по TCP в реалтайм играх.

p.s.Что касается WoW - она действительно достаточно медленная. Если в игре нормально будет ощущаться задержка в 3-5 RTT, значит тебе подходит TCP. В Wow при пинге 100 из-за TCP и переотправки данных могут происходит задержки до 300-500ms, тогда все забавно подвисает, каст заклинания останавливается. Особенно заметно это бывает по вечерам и со стремным провайдером, когда толпа народу смотрит видосики на ютубе. Но как не странно, даже с такими пиками жить в Wow можно, даже в PvP. В Overwatch такой трюк не пройдет. Такие задержки, даже кратковременные - вызывают неистовое жжение нижней точки, когда из-за них тебя убивают в самый неподходящий момент.

Добавлено (07 Ноября 2018, 12:21)
---------------------------------------------
Кстати, прекрасная статья, об анализе траффика в WoW.
http://citeseerx.ist.psu.edu/viewdoc....ype=pdf
Это не бездумное использование протокола, там есть оптимизации: они в большинство пакетов ставят флаги PSH, ACK, собирают маленькие чанки данных в один большой перед отправкой, чтобы избежать оверхеда, подтверждают доставку пакета не сразу, а позже для большой пачки пакетов.
И не факт, что если для них это подошло, это подойдет и для твоей игры. А даже если подойдет, то не факт, что сможешь так все подогнать, чтобы хорошо игралось и ощущалось - т.е. брать TCP Только потому что "все реализовано" и "проще" - путь в никуда.

Но, если ты начинающий разработчик и не собираешься писать убийцу овервотч, то да, тебе, возможно, хватит TCP. Да даже для шутера, если в него будут играть только по локальной сети, TCP может хватить. Но если ты разрабатываешь полноценную мультиплеерную игру на большое количество игроков, то тут далеко уже не факт по причинам выше.


Сообщение отредактировал qazer - Среда, 07 Ноября 2018, 12:47
ЭргалонДата: Среда, 07 Ноября 2018, 13:00 | Сообщение # 26
Вездесущий
Сейчас нет на сайте
programMain, в лс написал

Кубариум
Rise of the dark lords
programMainДата: Среда, 07 Ноября 2018, 15:42 | Сообщение # 27
частый гость
Сейчас нет на сайте
Цитата qazer ()
programMain,
https://gafferongames.com/post/udp_vs_tcp/
Вот тебе аргументы, почему не стоит использовать TCP при отправке критичных ко времени данных.

Никто не говорит, что использовать TCP - плохая идея. Тебе пытаются объяснить, что все подходит для своих задач.

Все что касается соединения с веб-сервисами - всякие загрузчики, приложение Battle.net и т.д. - понятно почему используется TCP. Понятно, что в лобби игр может использоваться TCP. В медленных играх используют TCP как основной транспортный протокол. В самом геймплее TCP может использоваться для отправки незначительных данных о состоянии игрока на внешние сервисы, статистики и т.д.

НО! Стоит смотреть не на порты которые открыты, а на траффик который через них идет. Положение персонажа в играх с быстрым темпом игры(шутерах например) не будет идти по TCP. Куча других данных, для которых важно, чтобы они были доставлены максимально быстро не будут идти по TCP в реалтайм играх.

p.s.Что касается WoW - она действительно достаточно медленная. Если в игре нормально будет ощущаться задержка в 3-5 RTT, значит тебе подходит TCP. В Wow при пинге 100 из-за TCP и переотправки данных могут происходит задержки до 300-500ms, тогда все забавно подвисает, каст заклинания останавливается. Особенно заметно это бывает по вечерам и со стремным провайдером, когда толпа народу смотрит видосики на ютубе. Но как не странно, даже с такими пиками жить в Wow можно, даже в PvP. В Overwatch такой трюк не пройдет. Такие задержки, даже кратковременные - вызывают неистовое жжение нижней точки, когда из-за них тебя убивают в самый неподходящий момент.

Я это и пытаюсь сказать уже чертову тучу времени... Я писал пиратский сервак для WOW, я знаю что там и как идет). Скажу так, я советую начинающим использовать TCP, в реальных (больших) проектах используют два протокола, хочешь передать данные которые надо защитить, используй TCP, надо просто пульнуть информацией, используй UDP. Но если ты только начинаешь собирать игру, начни с TCP. В процессе если ты видишь, что необходимо ускорить процесс (часто это отпадает при рефакторинге кода), то поставь в той части UDP. Но не нужно использовать везде UDP - потому что "я думаю, что так нужно".

Добавлено (07 Ноября 2018, 15:50)
---------------------------------------------
Ребят, предложение на тест сервака до сих пор актуальна, если кому то нужно по-боевому нагрузить свои серваки - пишите в лс)))

Форум игроделов » Программирование » Программирование .NET » Сетевая библиотека вместе!
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг