Среда, 27 Ноября 2024, 11:42

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сокеты??
arthurfokДата: Пятница, 17 Августа 2012, 20:05 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте [опять :)].
каким именно сокетом пользоваться для создания онлайн игры? (UDP или TCP)

если TCP , то не будет ли тормозить? (т.к. ожидает ответа).

Если UDP лучше , то прощу приведите пример , как использовать (создание сервера,клиента и т.п)? (с ТСП у меня проблем нет, но UDP у меня чет не получается..)
Спасибо...
DeusEx-12Дата: Пятница, 17 Августа 2012, 20:25 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Я думаю проще определиться какой готовый серверный продукт Вы будете использовать. Или Вы хотите всё писать сами с нуля?

Ищем партнёров в РФ для реализации (продажи) и поддержки ПО
arthurfokДата: Пятница, 17 Августа 2012, 20:49 | Сообщение # 3
частый гость
Сейчас нет на сайте
а писать с нуля сложно что ли? smile :)
KamskiiДата: Пятница, 17 Августа 2012, 23:04 | Сообщение # 4
Game ≠ Toy
Сейчас нет на сайте

Если для вас не критично, что до сервера может просто не дойти действие игрока, то используйте UDP. Иначе TCP.
arthurfokДата: Пятница, 17 Августа 2012, 23:20 | Сообщение # 5
частый гость
Сейчас нет на сайте
Kamskii, шутка просто супер )))))))
а про сокеты??
вообще сетевые игры делаются UDP сокетами или TCP ?))
anton-garДата: Суббота, 18 Августа 2012, 01:12 | Сообщение # 6
WEBmaster
Сейчас нет на сайте
Quote (Kamskii)

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

При TCP пакеты тоже могут не дойти, правда, отправителю придёт оповещение об этом.

Quote (arthurfok)
вообще сетевые игры делаются UDP сокетами или TCP ?))

Смотря что передавать - TCP проигрывает во времени UPD, из-за ожидания ответа.
Опять же для какого проекта?

Добавлено (18.08.2012, 01:06)
---------------------------------------------


Добавлено (18.08.2012, 01:10)
---------------------------------------------

Добавлено (18.08.2012, 01:12)
---------------------------------------------





Сообщение отредактировал anton-gar - Суббота, 18 Августа 2012, 01:11
SaiteiДата: Суббота, 18 Августа 2012, 23:51 | Сообщение # 7
старожил
Сейчас нет на сайте
arthurfok, можно использовать и TCP, и UDP) Просто нужно ли это?
arthurfokДата: Воскресенье, 19 Августа 2012, 00:56 | Сообщение # 8
частый гость
Сейчас нет на сайте
Saitei, а что ты предлагаешь ? )
SaiteiДата: Воскресенье, 19 Августа 2012, 01:10 | Сообщение # 9
старожил
Сейчас нет на сайте
arthurfok, это зависит от твоих планов. Твоя игра, не моя. x,y я передавал бы по UDP
_pDirectDeviceДата: Воскресенье, 19 Августа 2012, 06:31 | Сообщение # 10
частый гость
Сейчас нет на сайте
для игр в реальном времени точно UDP,при TCP много стадий проверки сокета проходит, что незачем.(UDP) Групповая рассылка (типо чатов) вещает с определенного класса адресов типо такого 255.44.33.03,с других не подходит, для игр пошаговых можно и TCP.У тебя проблем не будет с простыми приложениями сервера echo, но самая главная проблема это организовать взаимодействие потоков(многопоточный сервер),взаимоблокировка и прочие удовольствие))). Никакой здравомыслящий человек не будет приводить здесь пример такого сервера(рабочего), так что как и все придется самому. Совет, разберись хорошо с Thread,Monitor,и прочие семафоры это с экономит тебе нервы и время, кстати в этой книги некоторый темы хорошо раскрыты

"Дейтел Х. C# в подлиннике. Наиболее полное руководство. 2006, 1057 стр..djvu"
"Arhitektura_korporativnih_programmnih_prilojzeniy" в догонку

когда рабочий сервер напишешь, поймешь почему не выкладывают рабочие демки

Quote (arthurfok)
а писать с нуля сложно что ли?

Не представляешь как








Сообщение отредактировал _pDirectDevice - Воскресенье, 19 Августа 2012, 06:40
arthurfokДата: Воскресенье, 19 Августа 2012, 10:34 | Сообщение # 11
частый гость
Сейчас нет на сайте
_pDirectDevice, спасибо )))
Saitei,
я пишу 2D стрелялку , то есть будут передаваться позиция(X,Y),угл, сообщение что персонаж стреляет, и т.д...
ArchidoДата: Воскресенье, 19 Августа 2012, 11:19 | Сообщение # 12
Сэнсэй
Сейчас нет на сайте
arthurfok
Для начинаний я бы таки взял TCP.
При тестах в локальной сети разницы между TCP и UDP на глаз не будет совсем. В случае с TCP не нужно как-то заботиться о потерянных пакетах (и обрабатывать это дело), не нужно думать о том, что делать если более новый пакет обогнал старый, и т.п. Т.к. все придет именно в той последовательности, в которой было отправлено.
Вообщем, с TCP работать проще. Поэтому я бы сделал рабочий вариант именно на нем (т.к. это проще, если опыта нет), а после при необходимости уже доводил бы до ума на UDP (необходимость - риалтайм игра по интернету, например).

Quote (arthurfok)
я пишу 2D стрелялку

Риалтайм значит. Тут еще надо понимать взаимодействие и архитектуру клиент-серверной модели (в таких играх, обычно всеми расчетами занимается сервер и раздает всем клиентам готовые координаты, а клиенты выступают лишь в роли "рендера" игрового мира).


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
  • Страница 1 из 1
  • 1
Поиск:

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