2013-05-30 4 views
-6

Я сделал игру в реальном времени, и сейчас она очень лаги. Я видел, что для игры в режиме реального времени у меня есть коды для записи с «протоколом UDP», вместо «TCP»Сетевая программа Java; (Проблема с задержкой)

Будет ли это решить проблему с задержкой? и было бы очень сложно изменить мой код в форме «UDP»?

Спасибо!

+0

ли вам '.flush()' сокеты вы '.WRITE() 'to? – fge

ответ

0
  1. это решить бы отстающую проблему?

    протокола UDP немного быстрее, чем TCP, поскольку ему не хватает пару дополнительных услуг добавленной стоимости:

    • Это ненадежное - это не проверяет, прибывают ли пакеты успешно. Если есть сетевая проблема, пакет может быть потерян.
    • Также не гарантирует, что пакеты прибудут по порядку.

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

    Вы определенно заметили бы разницу? Не обязательно.

    Скорость, трафик и количество сетевых маршрутизаторов/коммутаторов в базовой сети оказывают большое влияние на производительность отдельных пакетов. Вы не заметите каких-либо различий в локальной сети Gigabit Ethernet, но можете увидеть небольшую разницу в беспроводных сетях и большую разницу в Интернете. Плохая настройка маршрутизатора и занятая сеть явно ухудшат ситуацию.

    Чтобы понять свой путь к сети и проверить надежность скорости &/ошибки в сети, используйте

    • командной строки ping & traceroute/tracert
    • инструмент проверки сети, например, LAN Speed Test или NetStatLive или testmy.net

    Смотрите также How Fast Is Your Network?

  2. было бы очень трудно изменить свой код в форме 'UDP'?

    No.

    Вместо использования java.net.Socket и J ava.net.ServerSocket использование java.net.DatagramSocket х 2.

    http://docs.oracle.com/javase/tutorial/networking/datagrams/clientServer.html

Смежные вопросы