Kmom06: Klient och server
Nu har vi en Linux-server, en webbserver, vi kan grunderna i att bygga skript i bash, vi kan bygga servrar med Node.js och kan bygga klienter som kommunicerar med webbtjänster via RESTful API:er. Visst låter det som en hel del?
Låt oss nu ta ytterligare ett steg in i klient och serverprogrammering med Node.js. Vi skall koda i Node.js, både på klient och serversidan. Tanken är att vi får en känsla för hur vi kan dela upp koden och en övning i klient och server med RESTful API.
Du kommer göra ett kommandoradsprogram i Node.js med argument och options samt en mainloop och kommandotolk. Det kan se ut så här.
Sedan skall du jobba med klienter och servrar i form av Gomoku, luffarshack.
När du är klar har du fått en orientering i hur klienter och servrar kan struktureras med JavaScript i Node.js. Dessutom får du nog en hel del kod som du kan återanvända i senare projekt.
(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)
#Läsanvisningar
(ca: 0 studietimmar)
#Kurslitteratur
Det finns ingen läsanvisning i kurslitteraturen.
#Artiklar
Det finns inga artiklar.
#Video
Det finns inga videoförslag.
#Lästips
Det finns inga extra lästips.
#Övningar & Uppgifter
(ca: 8-18 studietimmar)
#Övningar
Genomför följande övningar.
Läs igenom övningen “Gör en kommandoradsklient i Node.js”.
Läs igenom övningen “Spela luffarschack med klient och server i Node.js”.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
- Gör uppgiften “Skapa klienter och servrar som spelar luffarschack i Node.js”.
#Extra
- Förbered din kod för Gomocup.
#Resultat & Redovisning
(ca: 1-2 studietimmar)
Läs instruktionen om hur du skall redovisa.
Se till att följande frågor besvaras i redovisningstexten.
- Hur väl har du fått ordning på begreppen kring klient och server?
- Hur känns det att utveckla i Node.js och den asynkrona programmeringsmodellen?
- Gick det bra med dina CLI-program i Node.js, några reflektioner kring dem?
- Gjorde du något extra i uppgiften, eller förändrade grundkoden i Gomoku-spelet?
- Känner du dig sugen, och redo, på att skriva en deltagare till Gomocup?
#Revision history
- 2015-09-11: (A, mos) Första utgåvan för kursen.