5. feladat
Feladva nov. 9-15., 2009
Határidő dec. 05., 2009
Üzenetsorok
A feltöltendő
két állomány neve: S05_nn_xxxxxxxx_s.c (szerver)
illetve S05_nn_xxxxxxxx_c.c (kliens), ahol nn
- feladat száma; xxxxxxxx - felhasználó azonosítója a linux szerveren.
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.
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 "
5. A kliens egy katalógusnevet küld a szervernek, a szerver pedig visszaküldi
a kliensnek az illető katalógus tartalmát, 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.
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 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.
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 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.
13. 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.
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 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.
Tippek / gyakori hibák