Szerializáció, hálózat

Egy egyszerű feladatra fogunk elosztott megoldást megalkotni. Használjunk automatikus szerializációt biztosító objektum stream-eket a kommunikációhoz.

Kódminták a feladathoz

  1. Készítsünk egy PrimeFinder osztályt, ami egyesével ellenőrzi számokról, hogy prímszámok-e. Az eredményt eltárolja egy listában. Legyen egy step függvénye, ami ellenőrzi az aktuális számot, ha prím akkor berakja az eredmény-listába és lépteti.
  2. Készítsünk egy szerver osztályt, ami irányítani fogja a számítás menetét.
  3. Készítsünk egy kliens osztályt, ami ténylegesen elvégzi a számítást.
  4. A protokoll a következő:
    1. Megjelenik egy kliens, elkéri a számítási feladatot
    2. A szerver válaszként elküldi a számítás jelenlegi állapotát
    3. A kliens bizonyos ideig végzi a számítást (a végét jelezze egy enter leütése)
    4. A kliens visszaadja a számítás végső állását, a szerver ezt elmenti (a szerver ekkor írja ki a feladat aktuális állapotát ellenőrzésre)
    5. Mindkét fél bontja a kapcsolatot
    6. A szerver készen áll a következő kliens fogadására
  5. A három üzenetet (Feladatkérés, Feladatkiosztás és Eredményvisszaadás) egy-egy osztályként reprezentáljuk. Ezeknek példányai lesznek átküldve a processzek között a protokoll végrehajtása során.