Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 2.6 KB

README.md

File metadata and controls

58 lines (46 loc) · 2.6 KB

Wykład

Kontakt: marcin.kolodziej1@globallogic.com lub dev@izoslav.pl

Prezentacja: WIZUT_KMIM_M2_M4.pdf

Przykłady

  1. Rozwiązania natywne dla Linuxa (POSIX)

    1. Potoki (ang. pipes)
    2. Kolejki (ang. queues)
    3. Pamięć współdzielona (ang. shared memory)
    4. Gniazda (agn. sockets)
  2. Biblioteka boost

    1. boost::interprocess
    2. boost::process
  3. Valgrind

    1. Helgrind
    2. DRD

Zadanie na ocenę

  • Zaimplementować prosty "czat" międzyprocesowy.
    1. Klient - łączy się wybranym sposobem z serwerem, przesyła mu wiadomości zawierające następujące dane:
      1. Czas nadania wiadomości.
      2. Identyfikator nadawcy.
      3. Wiadomość.
    2. Serwer - przyjmuje połączenia, wypisuje następujące informacje na standardowe wyjście albo do pliku:
      1. Wypisuje następujące informacje na standardowe wyjście albo do pliku:
        1. Czas nadania wiadomości.
        2. Czas odebrania wiadomości.
        3. Identyfikator nadawcy.
        4. Wiadomość.
      2. Wysyła potwierdzenie odebrania wiadomości do klienta.
      3. Rozsyła otrzymane wiadomości do połączonych klientów. (* nadobowiązkowe)

Zadania na laboratoria

Komunikacja międzyprocesowa

  1. Zestawić połączenie dwukierunkowe między procesami przy użyciu potoków.
  2. Użyć mechanizmu pamięci współdzielonej do synchronizacji ustawień (struktury z jakimiś danymi) między wieloma procesami.
  3. Napisać program serwera oraz klienta, który pozwoli na komunikację między dwoma klientami poprzez serwer przy pomocy kolejki wiadomości.
  4. Zaimplementować echo serwer przy pomocy gniazd TCP.

Biblioteka boost

  • Pojawią się bliżej 27.05

Bibliografia

Dodatkowe informacje

  • Biblioteka boost::process jest dostępna dopiero od wersji 1.64, niedostępnej na uczelnianych maszynach wirtualnych.