INDA25PlusPlus

Allmän information, slides och uppgifter

View the Project on GitHub INDA25PlusPlus/info

Uppgift 5 - Networking

Under denna vecka ska ni implementera nätverksprotokollet som ni utvecklade under övningen för att kunna spela mot varandra över ett nätverk med era schackspel. Ert program ska både kunna ansluta till en motståndare och ta emot anslutningar. Specifikationen för protokollet finns här. Det går bra att välja server-/klientroll med en flagga på kommandoraden (ni behöver alltså inte lägga till nån slags grafisk meny eller dylikt).

För att använda TCP i Rust behöver ni ha koll på dessa structs:

Eftersom ni både ska köra era vanliga spelslinga och vänta på meddelanden samtidigt, kan det vara bra att sätta “non-blocking” mode på TCP-streamen. Dokumentation för detta finns här (observera hanteringen av felkoden WouldBlock).

Ni fortsätter arbeta med de repon ni skapade i förra uppgiften (kth_id-gui).

Tips: För att testa era program lokalt kan ni använda er av loopbackadressen 127.0.0.1.

Lycka till!