5. feladat
Feladva nov. 14-20., 2011
Határidő dec. 10., 2011
Üzenetsorok
Az alábbi feladatok megoldásához két C program megírására van szükség: lesz egy szerver folyamat és egy kliens folyamat. A kliens folyamat kérést küld a szerver folyamatnak, az pedig a kérésnek megfelelő választ visszaküldi a kliensnek. A két folyamat közti kommunikáció üzenetsorok segítségével történik.
1. A kliens egy állománynevet küld a szervernek, a szerver pedig visszaküldi a kliensnek az illető állomány tartalmát, vagy pedig egy hibaüzenetet, amennyiben az állomány nem létezik.
2. A kliens egy felhasználónevet küld a szervernek, a szerver pedig visszaküldi a kliensnek a gép nevét, amelyen az a felhasználó dolgozik, és a rendszerbe lépésének időpontját, illetve egy megfelelő üzenetet -"A felhasználó nincs belépve!" -, amennyiben a felhasználó éppen nem dolgozik. (Több párhuzamos bejelentkezés esetén mindegyiket küldje).
3. A kliens egy időpontot küld a szervernek, a szerver pedig visszaküldi a kliensnek az összes felhasználó nevét, akik éppen dolgoznak, és a megadott időpont után léptek be a rendszerbe.
4. A kliens egy állománynevet és egy oktális számot küld a szervernek. A szerver megvizsgálja, hogy a megadott állomány hozzáférési jogai különböznek-e a megadott számtól. Amennyiben a hozzáférési jogok megegyeznek, egy "Minden OK!" üzenetet küld vissza a kliensnek, ha nem, akkor megváltoztatja az állomány hozzáférési jogait a megadott számnak megfelelően, és azt az üzenetet küldi vissza a kliensnek, hogy "A hozzáférési jogok sikeresen megváltoztak." Hiba esetén (a programnak nincs joga megváltoztatni az illető állomány hozzáférési jogait) megfelelő üzenettel értesíti a klienst.
5. A kliens egy katalógusnevet küld a szervernek, a szerver pedig visszaküldi a kliensnek az illető katalógus teljes tartalmát (alkönytárakkal együtt), illetve egy hibaüzenetet, amennyiben az adott katalógus nem létezik.
6. A kliens egy dátumot (az aktuális hónap egy bizonyos napja) és (egy múltbeli időintervallum kezdetét illetve végét jelőlő) két időpontot (óra) küld a szervernek, a szerver pedig visszaküldi azon felhasználók listáját (felhasználónév + teljes név), akik a megadott napon a megadott időintervallumban be voltak jelentkezve a rendszerbe.
7. A kliens egy állománynevet küld a szervernek, a szerver pedig visszaküldi a kliensnek mindazon katalógusok nevét, amelyek tartalmazzák a megadott állományt. Csak a saját felhasználón belül kell keresni az állományt.
8. A kliens egy felhasználónevet küld a szervernek, a szerver pedig visszaküldi a kliensnek a "finger" parancs segítségével, az illető felhasználóról szerzett információkat, illetve egy hibaüzenetet,amennyiben a rendszer nem ismeri a megadott felhasználót.
9. A kliens egy Unix-parancsot küld a szervernek, a szerver pedig végrehajtja, és visszaküldi a kliensnek a végrehajtás eredményét. Amennyiben a parancs hibás, a szerver egy ennek megfelelő hibaüzenetet küldjön vissza.
10. A kliens egy szöveget és egy katalógusnevet küld a szervernek, a szerver pedig visszaküldi az illető katalógusban szereplő összes szöveges állomány nevét, amely tartalmazza a megadott szöveget, illetve egy hibaüzenetet, amennyiben a megadott katalógus nem létezik.
11. A kliens egy gép nevét küldi a szervernek, és visszakapja a szervertől azon felhasználók listáját, akik az adott gépről jelentkeztek be a rendszebe, és jelenleg még dolgoznak, illetve a bejelentkezésük dátumát és időpontját.
12. A kliens egy gép nevét küldi a szervernek, és visszakapja tőle az összes felhasználó listáját, akik az elmúlt időszakban (amiről nyilvántartás van) az illető gépről jelentkeztek be a rendszerbe, a bejelentkezés dátumát, és azt az időtartamot, ameddig be voltak jelentkezve.
13. A kliens egy felhasználónevet küld a szervernek, és visszakap a szervertől egy megfelelő üzenetet attól függően, hogy az illető felhasználónak van-e elolvasatlan levele vagy sem.
14. A kliens egy állománynevet küld a szervernek, és visszakap tőle egy megfelelő üzenetet, mely megadja az állomány típusát, illetve egy hibaüzenetet, amennyiben az állomány nem létezik.
15. A kliens egy katalógusnevet küld a szervernek, és visszakapja ettől az illető katalógusban szereplő összes szöveges állomány listáját, illetve egy hibaüzenetet, amennyiben a megadott katalógus nem létezik.
16. A kliens egy felhasználónevet küld a szervernek, a szerver pedig visszaküldi a kliensnek azokat a dátumokat, amelyeken az adott felhasználó be volt jelentkezve a rendszerbe, illetve azokat az időtartamokat, ameddig dolgozott
Tippek / gyakori hibák