VAMK

Vaihda kieltä: English

Etusivu > Ajankohtaiset koulutukset > Information Technology (IT) > 2024 > Vuosi 4 > Socket Programming (IT00BL22)

Socket Programming

Rakennetyyppi: Opintojakso
Koodi: IT00BL22
OPS: IT 2024
Taso: Insinööri (AMK)
Opiskeluvuosi: 4 (2027-2028)
Lukukausi: Syksy
Laajuus: 3 op
Vastuuopettaja: Gao, Chao
Opetuskieli: Englanti

Suoritus ennakkoon? Katso toteutukset lukuvuonna 2024-2025.

Osaamistavoitteet

After the course, the student should understand the basic idea of client-server communication, and she should be able to write basic server/client applications. The student should know the differences of connection-less and connection-oriented communication (i.e., UDP and TCP) for designing performance-oriented Internet communication applications. She should know the different types of sockets and which should be applied for their specific application. The student should know the relationship between sockets and application layer protocols. The student should also know what is a WebSocket and how to make WebSocket applications for both server and client sides.

Opiskelijan työmäärä

80 h, which contains 30 h of scheduled contact studies.

Edeltävät opinnot / Suositellut valinnaiset opinnot

Local Area Networks, Basics of Telecommunications, C programming, TCP/IP networks

Sisältö

The course consists of 4 parts.
First, we will go through basic socket functions for both connectionless and connection-oriented communications, using WinSock library and Visual Studio. We will study how to create a socket and how to deal with remote and local socket addresses. We will also study the differences of UDP and TCP communication.
Second, we will learn how to migrate/port WinSock applications to Linux platform, which uses BSD socket. The differences between WinSock and BSD socket will be discussed.
In the third part, we will study other types of sockets, such as raw socket used in lower layers of TCP/IP protocol stack, and in what applications we need to use them.
In the last part, we will study WebSocket and discuss how to implement it.

Kansainvälisyys

This course is taught in English.

Opiskelumateriaali

Lewis Van Winkle, Hands-On Network Programming with C, ASIN:‎ B07PSJKHKJ, Publisher: Packt Publishing; 1st edition (May 13, 2019)
Materials prepared by the teacher.

Opetusmuoto / Opetusmenetelmät

Lectures, assignments and project work

Arviointikriteerit

Grade 5: The student is able to develop performance-oriented TCP/IP applications combining different languages and platforms. He can handle synchronous (concurrent) server development by using different IPC methods. He is proficient in network data formatting. He is able to evaluate the performance of the applications using different network tools/utilities.
Grade 3: The student is able to develop different types of TCP/IP applications such as TCP server / client, UDP server client, and RAW socket applications. He understands the data structure in protocol data unit (PDU).
Grade 1: The student understands basics of TCP/IP socket and can development simple socket applications.

Arviointimenetelmät

An examination, a project, homework exercises.

Harjoittelu

PC rooms with some registered ports unblocked by firewall.


Takaisin