Pisanie programów sieciowo

0

Witam,
mam pytanie odnośnie programowania sieciowego. Właśnie piszę grę i chciałbym, żeby była możliwość grania z innymi graczami (karcianka). Ogólnie nie mam problemu z napisaniem gry, ale programowanie sieciowe nigdy mi nie szło i tego zwyczajnie nie rozumiem. Zatem tu nasuwa mi się pytanie, czy jeśli chcę, żeby gracze grali ze sobą, to kod musi być pisany pod klasę serwera, czy nie jest ważne to w jaki sposób napisany jest cały program a tylko liczy się klasa tworząca serwer? Chcę napisać grę po swojemu, tak jak ja lubię pisać programy, a serwer zlecić osobie drugiej i nie chciałbym, żeby pod koniec pisania gry okazało się, że mój kod jest bezwartościowy bo nie da się go wprowadzić do sieci.

0

Raczej zbytnio przy mniejszych projektach nie ważne jest jak piszesz. Ważne, aby osoba pisząca serwer wiedziała o co chodzi itd. Czy w jedną czy w drugą moim zdaniem jest tak samo.

0

Jeśli jasno okreslicie specyfikację protokołu komunikacji to te dwa programy mogą być i w innych językach ;)
Po prostu musicie określić konkretnie:

  • jak się komunikujecie (UDP, TCP, SCTP)
  • jak wyglądają komunikaty które są przesyłane
  • jak wygląda partia (np. w jaki sposób gracze są "parowani" czy tam "przylączają się do gier")
0

Właśnie, czy muszę napisać grę uwzględniając dwóch graczy, tzn, np. "trwa oczekiwanie na gracza drugiego" itp. czy wystarczy, że zostawię mu miejsce na stole/planszy, a reszta należy do osoby piszącej serwer czyli takie rzeczy jak pojawienie się drugiego gracza, pokazywanie jego ruchów na stole?

0

To zalezy jak to napiszesz? o_O
Możecie zrobić tak ze gra toczy sie na serwerze, a klienci wysyłają tylko informacje o tym jaki chcą wykonać ruch i dostają informacje o ruchach przeciwnika.
A mozecie tez zrobić tak ze serwer jedynie dokonuje parowania graczy a sama gra toczy sie juz bezpośrednio między nimi.

0

ogólnie rzecz biorąc programista który w przyszłości stworzy dla Ciebie serwer gry musi dostać jakiś interfejs - musisz więc już na etapie pisania gry określić sposób w jaki gra będzie się z tym serwerem komunikowała

0

zwykle serwer komunikacji musi się określić - niezależnie o serwera

0

Moze tak:
Serwer:

  1. nasluchuje na klientow (w oddzielnym watku)
  2. gdy ma nowe polaczenie, to je deleguje do obslugi (logowanie, itp) -> nowy watek z reguly
  3. odczyt (jesli ma byc asynchroniczny) musi byc realizowany z oddzielnym watku (mowie o polaczeniach)
    Klient:
  4. Laczy sie i tyle
  5. Jesli odczyt ma byc asynchroniczny -> nowy watek

Musicie ustalic co, jak i kiedy wysylacie. I tyle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1