Chatserver - prosty program do komunikacji między procesami w sieci

0

Witam.
Mam za zadanie na przedmiot Systemy Operacyjne zrobić prosty program do czatu. Klienci łączą się do serwera i mogą na bieżąco pisać o dostawać odpowiedzi. Z napisaniem kodu już sobie poradzę( mam taką nadzieję) ale zastanawia mnie sama logika. Nie bardzo mam pomysł jak sobie poradzić z synchronizacją procesów (wiem za pomocą czego mogę to zrobić, ale nie bardzo jeszcze rozumiem jak). Mogę używać semaforów, pamięci współdzielonej, kolejek FIFO. Napisałem sobie oczekiwanie na podłączenie pod serwer oraz fork'owanie po podłączeniu klienta. Nie bardzo wiem jak dalej zsynchronizować to wysyłanie komunikatów od jednego do pozostałych klientów. Prosiłbym o jakieś ukierunkowanie.
Pozdrawiam.
Ja:)

0
  1. Użyłbym wątków na serwerze zamiast procesów
  2. Klient wysyła wiadomość do serwera. Serwer rozsyła ją do wszystkich klientów. Nie bardzo rozumiem gdzie widzisz problem.
0
  1. O ile mi wiadomo to w C nie ma wątków, poza tym nie mogę ich użyć.
  2. Serwer forkuje mi się do każdego połączenia, więc jest tu drobny problem z synchronizacją treści pomiędzy klientami.

Jakbym chciał stworzyć za pomocą pamięci współdzielonej, to muszę zabezpieczyć, żeby w jednej chwili procesy nie pisały do pamięci.

1 użytkowników online, w tym zalogowanych: 0, gości: 1