Socket-ohjelmointi
Rakennetyyppi: | Opintojakso |
---|---|
Koodi: | TT00BI70 |
OPS: | TT 2023 |
Taso: | Insinööri (AMK) |
Opiskeluvuosi: | 3 (2025-2026) |
Lukukausi: | Kevät |
Laajuus: | 3 op |
Vastuuopettaja: | Virtanen, Antti |
Opetuskieli: | Suomi |
Osaamistavoitteet
Kurssin jälkeen opiskelijan tulee ymmärtää asiakas-palvelinviestinnän perusajatus ja osata kirjoittaa yksinkertaisia asiakas-palvelinsovelluksia. Opiskelijan tulee tietää yhteydettömän ja yhteydellisen viestinnän (eli UDP ja TCP) erot suorituskykyisten Internet-viestintäsovellusten suunnittelussa. Hänen tulisi tuntea erityyppiset socketit ja mitä niistä tulisi käyttää eri käyttötarkoituksissa. Opiskelijan tulee tuntea sockettien ja sovelluskerroksen protokollien välinen suhde. Opiskelijan tulee myös tietää mikä on WebSocket ja kuinka tehdä WebSocket-sovelluksia sekä palvelin- että asiakaspuolelle.
Opiskelijan työmäärä
80 h, josta lukujärjestykseen merkittyä lähiopetusta 30h.
Edeltävät opinnot / Suositellut valinnaiset opinnot
Lähiverkot, Tietoliikenteen perusteet, C-ohjelmointi, TCP/IP-verkot
Sisältö
Kurssi koostuu neljästä osasta.
Ensin käydään läpi yksinkertaiset socket-toiminnot sekä yhteydettömälle että yhteydelliselle tiedonsiirrolle WinSock-kirjaston ja Visual Studion avulla. Tutkitaan, kuinka luodaan socket ja miten käsitellään etä- ja paikallisia socket-osoitteita. Tutkitaan myös UDP- ja TCP-viestinnän eroja.
Toiseksi opitaan siirtämään/porttamaan WinSock-sovelluksia Linux-alustalle, joka käyttää BSD-socketia. WinSock- ja BSD-socketin eroista keskustellaan.
Kolmannessa osassa tutkitaan muun tyyppisiä socketteja, kuten TCP/IP-protokollapinon alemmissa kerroksissa käytettyjä raakasocketteja ja missä sovelluksissa niitä tulee käyttää.
Viimeisessä osassa tutkitaan ja toteutetaan WebSocket.
Opiskelumateriaali
Lewis Van Winkle, Hands-On Network Programming with C, ASIN: B07PSJKHKJ, Publisher: Packt Publishing; 1st edition (May 13, 2019)
Opettajan osoittama materiaali.
Opetusmuoto / Opetusmenetelmät
Luennot, tehtävät ja projektityö
Arviointikriteerit
Arvosana 5: Opiskelija osaa kehittää suorituskykyisiä TCP/IP-sovelluksia, joissa yhdistetään eri kieliä ja alustoja. Hän osaa käsitellä synkronista (samanaikaista) palvelinkehitystä käyttämällä erilaisia IPC-menetelmiä. Hän hallitsee verkkotietojen muotoilun. Hän osaa arvioida sovellusten suorituskykyä erilaisilla verkkotyökaluilla/apuohjelmilla.
Arvosana 3: Opiskelija osaa kehittää erilaisia TCP/IP-sovelluksia, kuten TCP-palvelin/asiakas-, UDP-palvelin/asiakas- ja raakasocketsovelluksia. Hän ymmärtää protokollan datayksikön (PDU) datarakenteen.
Arvosana 1: Opiskelija ymmärtää TCP/IP-socketin perusteet ja osaa kehittää yksinkertaisia socket-sovelluksia.
Arviointimenetelmät
Koe, projekti ja kotitehtävät
Lisätietoja
PC rooms with some registered ports unblocked by firewall.