Opgaver i Sockets

Formålet med opgaverne er at lære at opsætte en socket-server, der kan håndtere en enkelt klient, dernæst at lave en klient, der kan tilgå denne server og endelig at opsætte en kommunikation mellem disse.

Opgaverne skal løses ved brug af Sockets.

Opgave 1

Lav et server-progtram og et klient-program som virker på følgende måde:

Klient-program sender strengen "Hej server" til et server-program, som svarer klienten med strengen "Hej klient". Klient-programmet skal udskrive serverens svar på konsollen.
Server-programmet skal udskrive klientens ip-adresse og portnr, når klienten forespørger på serveren.

Start med serveren og test den af med Telnet/Putty så du ved den virker når du skal teste klienten.


Opgave 2

Lav et klient- og server-program med følgende dialog:

 

Klient forspørger på server (logger på server)

Server: "klar"

Klient: "klokken?"

Server: "12:48:13" (aktuel tid)

 

Klienten skal udskrive serverens tid.

 

Hvis serveren modtager en anden streng end "klokken?" (3), skal den svare klienten med "ukendt kommando" (4).

Start med serveren og test den af med Telnet/Putty så du ved den virker når du skal teste klienten.

 

Opgave 3

Udvid opgave 2, så serveren også kan levere dato.
Klienten skal kunne blive ved at spørge, så længe den vil. Lav selv en passende dialog.

 

Start med serveren og test den af med Telnet/Putty så du ved den virker når du skal teste klienten.

 

Opgave 4

Lav et klient- og server-program med følgende dialog:

 

Klient forspørger på server (logger på server)

Server: "klar"

Klient: "add 10 12?"

Server: "sum 22"

Klient: "sub 10 3?"

Server: "differens 7"

Klient: "exit"

 

Tallene fra klienten skal være heltal og kunne variere.

Sum / difference fra server skal svare til input fra klienten.

Klienten skal udskrive summen / differencen.

Klienten skal kunne blive ved at spørge, så længe den vil, idet dialogen sluttes med exit.

Start med serveren og test den af med Telnet/Putty så du ved den virker når du skal teste klienten.

 

Opgave 5

Udvid opgave 3, så serveren kan håndtere flere klienter.

 


Opgave 6

Lav et klient- og server-program med følgende dialog:

 

Klient forespørger på server (logger på server)

Server: "Gæt et tal mellem 1 og 10"

Klient: "20"

Server: "Forkert du har 9 forsøg mere"

Klient: "5"

Server: "Forkert du har 8 forsøg mere"

.........

Server: "Forkert du har 1 forsøg mere"

Klient: "9"

Server: "Du klarede det ikke"

Server: "Vil du prøve igen j/n"

Klient: "J"

Server: "Gæt et tal mellem 1 og 10"

Klient: "5"

Server: "Flot på 1 forsøg"

Server: "Vil du prøve igen j/n"

Klient: "j"

Klient: "2"

Server: "Forkert du har 9 forsøg mere"

Klient: "exit"

 

Dialogen skal blive ved som illustreret til "spillet" er slut og klienten svare "n" til at fortsætte.

Klienten skal kunne afbryde spillet et igangværende spil med "exit".

Serveren skal kunne håndtere flere samtidige klienter, der har hver sit spil kørende.

Overvej konsekvenser / løsninger hvis flere klienter kan svare i samme spil

Start med serveren og test den af med Telnet/Putty så du ved den virker når du skal teste klienten.