Aktywne Wpisy
![Marek_Tempe](https://wykop.pl/cdn/c0834752/21d0231b79730ab0c81b631b84e8069c844ec75181154fb8a30e585134d97974,q60.png)
Marek_Tempe +8
Lepiej z mądrym zgubić, niż z głupim znaleźć.
![Van-der-Ledre](https://wykop.pl/cdn/c3397992/Van-der-Ledre_DVsiYimVww,q60.jpg)
Van-der-Ledre +24
Pomodlę się jak co wieczór przed snem, o spokojne odejście we śnie, za zmarłych, za tych którzy jeszcze żyją, o poprawę marnego losu. Bóg, ten prawdziwy, wie, jaki jestem. A ja wiem, że ten świat to piekło, trwające na szczęście tylko jakiś czas. Potem wrócę tam, skąd tu przyszedłem i zabiorę wszystko, co tu przeżyłem. Doświadczenie śmierci klinicznej po nieudanej próbie s po śmierci mamy, odmieniło moje poglądy i obraz świata. Zobaczyć
![Van-der-Ledre - Pomodlę się jak co wieczór przed snem, o spokojne odejście we śnie, z...](https://wykop.pl/cdn/c3201142/231d77a67868298770bae654723398d594a039f9605edffc9f70c4c4357b9936,w150.png?author=Van-der-Ledre&auth=1f23f0aa63112a7e5cda85c7201ad79e)
źródło: gate
Pobierz
Zastanawiam się jaki protokół wykorzystać do przesyłania ruchów.
Gracz wysyła ruch na serwer -> Serwer sprawdza poprawność ruchu -> Serwer wysyła nową pozycję do obu graczy w grze
Wysyłanie co ruch żądania POST wydaje mi się zasobożerne i wolne.
Myślę, że powinienem wykorzystać
REST api (http) - do tworzenia gry, konta itd
Socket (tcp) - serwer dla gry ma osobny wątek który trzyma: socket per gracz i jest pośrednikiem (tj. gracza A robi ruch -> serwer waliduje -> wysyła do obu graczy nową pozycję)
Trochę mnie dziwi, bo lichess.org ma API do wykonania posunięcia
https://lichess.org/api#operation/boardGameMove
ale jak gram przez web, to nie widzę w konsoli by szły żądania POST posunięć
Jak to ugryźć bo nie mam doświadczenia? Programować będę w Javie jak to ma jakiś wpływ.
Ewentualnie możecie polecić jakąś bibliotekę do komunikacji sieciowej, jeśli sam Socket javowy jest zbyt niskopoziomowy, bo w Springu pewnie zrobię tylko REST Api
#java #naukaprogramowania #programowanie #szachy
https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_a_WebSocket_server_in_Java
https://spring.io/guides/gs/messaging-stomp-websocket/
a tak tldr - czym web socket różni się od socketa zwykłego? bo to też chyba działa na tcp.
czy to jest po prostu socket, a websocket to nazwa na API który socket oferuje i przystosowany jest do czegoś?
@Lewo: To będzie blitz chess na światowym poziomie ( ͡° ͜ʖ ͡°) ? Jeżeli nie, to POST nie będzie za wolny.
Zastanawiam się tylko czy jak przerzucę się z rest http na coś innego to strasznie utrudni to pisanie kodu czy też nie.
Jeśli logikę wyrzucisz po za kontrolery i fajnie porozdzielasz serwisy, to w teorii http to tylko medium transportowe, które zamieniając na ws nie powinno zabrac duzo czasu
Otóż POST, jak każda inna metoda HTTP działa w schemacie "żądanie -> odpowiedź", przy czym to klient HTTP wysyła żądanie do serwera, a serwer odpowiada. Serwer nie może ani wysłać żądania do klienta, ani odpowiedzieć, jeżeli klient nie wyśle żądania. Biorąc to pod uwagę
@cochese: dzięki, chociaż akurat chciałem przedstawić schemat komunikacji jaki widzę, że jest potrzebny (bez sugerowania, że to da się zrobić w http).
Masz rację, dlatego właśnie pisałem też coś o tym, że sama pojedyncza gra powinna być wątkiem serwera, który trzyma dwa połączenia per gracz i może tak się z nimi komunikować.
Jeśli chodzi o HTTP
z ciekawości zrobiłem dzisiaj reseach o WebSocketach i takie coś znalazłem w Springu docsach
https://stackoverflow.com/a/12855533