Упражнение за синхронизация на нишки

Упражнете материалите от темата, като реализирате представения по-долу проект.

AdvancedChat

Модифицирайте двойката програми мрежов сървър/клиент от предишната тема със следните промени:

  • Сървърът трябва да поддържа допълнителен незадължителен аргумент -p, който, ако е наличен, определя, че комуникацията ще се осъществява в така наречения любезен режим (Термин на Английски език: polite mode). В този режим сървърът трябва да приема съобщенията на клиентите на кръгове: когато един клиент изпрати съобщение, следващото съобщение от същия клиент няма да бъде обработено, докато всички други свързани клиенти не изпратят своите съобщения. Ако е необходимо, можете да промените протокола за комуникация между клиентите и сървъра.

  • Сървърът трябва да съхранява историята на чата във файл chat.log.

Last updated