ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΔΙΚΤΥΩΝ

Κωδικός Μαθήματος:     701
Εξάμηνο διδασκαλίας:     7ο Εξάμηνο

Σκοπός του μαθήματος
Προγραμματισμός από την πλευρά του server. Εκμάθηση προχωρημένων θεμάτων δικτυακού προγραμματισμού και επαφή με σύγχρονα ανάλογα προγραμματιστικά εργαλεία.

Στόχος του μαθήματος
Με την ολοκλήρωση του μαθήματος ο σπουδαστής είναι σε θέση να κατανοεί τη μεθοδολογία προγραμματισμού δικτύων και να αναπτύσσει ειδικές δικτυακές εφαρμογές.

Περιγραφή του μαθήματος
Προγραμματισμός Δικτύων. Τα πρωτόκολλα TCP/IP: Αρχιτεκτονική και διασύνδεση, διευθύνσεις, δρομολόγηση, πρωτόκολλα λειτουργίας των γεφυρών. Μοντέλα client-server. Ανάπτυξη συστημάτων TCP Client/Server (Forking Servers and the Inetd Daemon, Multithreaded Applications, Multiplexed Operations, Non-blocking I/O, Bulletproofing servers, Pre-Forking and Pre-Threading, The IO::Poll Module). Sockets, προγραμματισμός στα δίκτυα, συστήματα διαχείρισης δικτύων. Ειδικά θέματα προγραμματισμού δικτύων (TCP Urgent Data, The UDP Protocol, UDP Servers, Broadcasting, Multicasting, Unix Domain Sockets, VoIP).
Εργαστήριο Μαθήματος: Υλοποίηση εφαρμογών σε όλα τα προαναφερθέντα θέματα. Ανάπτυξη ατομικών εφαρμογών.

Ενδεικτική Βιβλιογραφία
  1. Windows Sockets Network Programming, by Bob Quinn and Dave Shute, with foreword by Martin Hall, Addison-Wesley, Reading, MA.
  2. Java Network Programming FAQ. Copyright 1998 - 2000 David Reilly.
  3. UNIX Network Programming (Hardcover) by W. Richard Stevens, Prentice Hall PTR; 2nd edition 1998.
  4. UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentice Hall, 1998