Socket Multiplayer Game

0

Witam, robie sobie gierkę, ale mam problem z dodaniem połączenia między komputerami. Chciałbym zrobić chat w grze i opcje multiplayer. Mogłby ktoś podpowiedzieć jak najlepiej sie do tego zabrać bo od paru dni siedze i nie moge tego "dobrze" zrobić. Nie wiem czy to powinno być synchronicznie czy asnychronicznie. Problem mam tez z połączeniem, bo gdy już uda się je nawiązać to jednorazowy przesył danych, a wydaje mi się ze połączenie powinno być stałe.

Głównie wzorowałęm się na tym:

https://msdn.microsoft.com/en-us/library/kb5kfec7%28v=vs.110%29.aspx

0

Jaka gra... I co ma obsługiwać to połączenie sieciowe dokładnie? Chat musi być na TCP zaś rozgrywka to już zależy co dokładnie piszesz, to albo UDP albo TCP. Na pewno odbiór danych asynchronicznie moim zdaniem by nie zamulać wątku głównego gry. Napisz coś więcej na temat tej "gry".

0

Pacman multiplayer. To ma być na zasadzie ze wszyscy wysyłają na serwer cz on rozsyłą dane do wszystkich czy jaki inny sposób?

2

Skoro tak to najprościej będzie na TCP na takim etapie jeżeli to nie jest bardzo zaawansowane i ruch odbywa się na planszy o małej rozdzielczości logicznej. Komunikacja musi odbywać się w 2 strony. Serwer wysyła do klientów informacje o położeniu wszystkich elementów na mapie, ich stanie (np. ruch) a klienci zczytują te informacje i przetwarzają (np. wyświetlając). Klient zaś musi wysyłać pakiety do serwera o tym, że gracz chce się poruszyć w danym kierunku czyli obsłużenie wejścia.

Czat - tu również na TCP, dlatego, że chcemy aby wszystko przyszło na pewno i musi być stałe połączenie. Jeżeli to ma być tylko grupowy a nie prywatny, to wystarczy odebrać wiadomość od klienta i przesłać ją do wszystkich prócz jego samego. Klienci już powinni obsłużyć takie coś.

Dobrze było by podzielić czat i rozgrywkę na 2 wątki, żeby nie blokować nasłuchiwania.

0

Pytanko powiązane:

Załóżmy że kolega to utworzy. Gdzie sensownie wdrożyć taki serwer? Polecasz jakieś rozwiązanie/hosting?

0

Nie polecę nic, bo nie używałem hostingu nigdy, ale platforma .NET jest dosyć droga jeżeli chodzi o takie hostowanie gotowe, a nie wiem na co konkretnie pozwalają darmowe hostingi (pewnie proste web appki tak, ale czy taki serwer gry jako aplikacja/usługa to nie wiem). Jest opcja na własnym serwerze.

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