Protokół internetowy

Protokół internetowy
P0
  • Rejestracja:ponad 11 lat
  • Ostatnio:7 miesięcy
  • Lokalizacja:Warszawa
  • Postów:22
0

Witam. Mam już za sobą kilka prostych gier. Kolejnym moim celem w nauce c++ jest napisanie prostej gry sieciowej. Zastanawiam się jaki protokół internetowy wybrać, tcp czy udp i dlaczego? W czym było by mi łatwiej zacząć?

msm
Administrator
  • Rejestracja:około 16 lat
  • Ostatnio:6 miesięcy
1

Prawdopodobnie TCP.

W specyficznych przypadkach gier real-time dobrze wykorzystane UDP mogłoby być lepsze, ale nie zastanawiałbym się nad tym na początku.

Dlaczego:

  • TCP działa.
  • UDP jest szybsze.

To znaczy że:

  • wszystkie pakiety TCP jakie wyślesz dojdą, i wszystkie dojdą w dobrej kolejności.
  • datagramy które wyślesz za pomocą UDP mogą 1) zniknąć i nigdy nie dojść do celu 2) dojść w zupełnie innej kolejności. Główną zaletą jest to że ma mniejszy narzut niż TCP.

W przypadku większości gier, bardziej korzystne jest jednak użycie TCP.

MI
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 10 lat
  • Postów:38
0

Polecam poczytac o przypadkach kiedy TCP jest szybsze od UDP

msm
TCP próbuje buforować dane (http://en.wikipedia.org/wiki/Nagle%27s_algorithm), więc dla wysyłanych pod rząd (bez zakłóceń) krótkich pakietów bywa szybszy (nawet do 50%) - o tym piszesz?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.