Tämän ohjeen aikataulutus perustuu ITKP104 Tietoverkot kurssin kevään 2014 ajoitukseen. Ajoituksen seuraaminen ei ole pakollista, mutta suositeltavaa.
Arvostelu, 8 pistettä maksimiProgram.cs
, joko jokainen erikseen tai pakattuna esim. zip pakettiinC#:ssa System.Net.HttpWebRequest
tai System.Net.Mail
ja Javassa esim. url
luokkaa)
ei saa käyttää.Java, C, C++, C#, python
kieliä tai jotain muuta
kunhan varmistat kielen luennoitsijalta.c:\MyTemp\java -jar ITKP104_Pelipalvelin.jar
TCP palvelimen ja asiakkaan testaamiseen:
MyTemp
hakemistoon ja tuplaklikkaa AjaPalvelin.bat
tai sitten komentorivillä kirjoita java -jar UDPChatServer.jar
.
Palvelin pysäytetään CTRL-c
näppäin yhdistelmällä. (Muokattu 7.4., voit nyt valita portin missä palvelin kuuntelee)Videot on siirretty TIM-järjestelmään.
Tehtävien alle linkitetyt videot ei enää toimi.Apuja tehtävien tekoon löytyy ohjevideoista, jotka löytyvät tehtävien alta tai voit katsoa
kaikki ohjevideot yhdellä sivulla.
Ohjevideot on tehty kevään 2014 kurssille, mutta soveltuvat myös uudemmille kursseille.
Ohjevideot on tehty C#-ohjelmointikielellä Windows ympäristössä.
Verkko-ohjelmointia pythonilla tai muita lähteitä eri ohjelmointikielille voi käyttää vapaasti apuna.
Videon koko: Videon nopeus: Autoplay:
Videon koko: Videon nopeus: Autoplay:
Videon koko: Videon nopeus: Autoplay:
Videon koko: Videon nopeus: Autoplay:
|Viesti|Arvo|
välilyönnillä
tai ; -merkillä
viestit
: JOIN, DATA, ACK, QUIT
JOIN
- liitytään peliin - Arvo
= Pelaajan nimiDATA
- pelin tapahtumiin liittyvää dataa - Arvo
= arvattava numero (asiakkaalta palvelimelle, sekä palvelimen välittämä pelaajan arvaus vastustajalle)ACK
- kuitataan jokainen viesti - Arvo
= status koodi ilmaisee tarkemmin minkälainen kuittaus (Statuskoodin jälkeen voi olla välilyönnillä erotettuna tekstiä, joka siis sisältyy Arvo
-kenttään)QUIT
- lopetetaan peli - Arvo
= 501 (sinä voitit) tai 502 (vastustaja voitti)ACK-viestin
statuskoodeista joita voit käyttää (luennoitsijan esimerkkipalvelimessa voi olla myös muita)
Videon koko: Videon nopeus: Autoplay: