Multi-Client&Server&Provider CSE344 – System Programming – Final Project DENİZ BABAT 131044013 Proje de istenenler;
- client ve server
- sinyal handler
- Her bir provider'ın bir thread olması
- server'ın istek atan clientları ilgili provider'lara ataması
- logların basılması ve provider'ların dosyadan okunması
- herbir provider'ın queue'sü olması ve size'ın 2 olması
- ilgili provider yoksa ve server kapanırsa, pdf'te istenen mesajların yollanması ve clientların buna göre aksiyon alması
- herbir client'ın seperate process olması
- Priority'lere göre client'ların providerlara dağıtılması olarak tespit edilmiştir.
TASARIM
yukarıda çizildiği gibi program kodlanmıştır. Çizimde signal ve timer lar gösterilmedi. Ama signal geldiği zaman clientlera mesaj yollanma bilgisi belirtilmiştir. Duration zamanı gelen provider ölür. Daha sonra bu providera artık iş atanmaz. Istenenler teker teker yapılmıştır. Herbir Client için kendi pid'sine ait bir log dosyası “clientsdirlog” direktorisinin içine bastırılmıştır. Eğer Client Serverdan cevap alamıyorsa “%s's task is not completed. Sorry!” diye hem ekrana hemde dosyaya çıktı bastırıyorum. Teşekkürler.