(Observera: Det som gör att man blir godkänd på tentan på riktigt är inte att man kört appen och använt den för att rapportera sig själv som godkänd. Det som gör att man blir godkänd på tentan är att man mailat in appen, med källkod. Man blir inte heller underkänd om servern, eller nätverket, krånglar. Men kör i alla fall appen och rapportera in dig själv, så får jag en färdig och någorlunda korrekt lista på alla godkända.)
Om man klickar på Skicka!-knappen, ska appen koppla upp sig mot port 2005 på servern basen.oru.se och skicka en textrad på formatet
"KLAR:personnummer:namn"
alltså till exempel så här:
KLAR:631211-1658:Bob Hammarkarlsson
Servern kommer att svara med en egen textrad. Den ska visas på skärmen, antingen som en egen skärmbild eller på samma skärmbild:
Efter att ha tagit emot textraden från servern, ska appen koppla ner sin uppkoppling.
Om man klickar på Klar?-knappen, ska appen koppla upp sig på samma sätt, men skicka en textrad på formatet
"KOLLA:personnummer:namn"
alltså till exempel så här:
KOLLA:631211-1680:Lisa Hammarkarlsson
Även nu kommer servern kommer att svara med en egen textrad, som också ska visas på skärmen, antingen som en egen skärmbild eller på samma skärmbild:
Observera att varje tryck på Skicka! respektive Klar! ska ge en uppkoppling och en nerkoppling. Appen ska alltså inte ligga kvar och vara uppkopplad mot servern.
Appen behöver inte spara något mellan programkörningar. Den behöver heller inte kunna kontrollera formatet på indata, utan bara skicka det vidare till servern. Däremot ska den ge ett tydligt, informativt och rättvisande felmeddelande om uppkopplingen mot servern misslyckas. Programmet får inte krascha. Det gör inget om ÅÄÖ i kommunikationen blir konstiga tecken.
Ibland kan det ta ganska lång tid (tiotals sekunder) att koppla upp sig mot en server, och att få svar från servern. Om det är GUI-tråden som sköter allt det jobbet, ser det ut som att appen hängt sig. Det är inte ett krav att programmet ska hantera det problemet på ett snyggt sätt, men det bör naturligtvis göra det.
Om det av någon anledning inte går att koppla upp sig mot servern på basen.oru.se, kan man köra den här reservservern på sin lokala maskin:
Reservtentaserver.java
(Den reservservern kan bara hantera en enda uppkoppling,
och måste startas på nytt efteråt.)