Skip to content

fgerodim/javaRMIExample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

javaRMIExample

Μια κάμερα με ενσωματωμένο αισθητήρα ανίχνευσης κίνησης «παρακολουθεί» έναν χώρο και ελέγχεται από έναν RMI server. Κάθε φορά που ο αισθητήρας ανιχνεύει κίνηση ο server δημιουργεί ένα event κίνησης, του δίνει μια χρονοσφραγίδα και το αποστέλλει σε όλους τους RMI clients που έχουν εκδηλώσει ενδιαφέρον για τέτοιου είδους συμβάντα. Εκτός από το συμβάν κίνησης ο server στέλνει σε κάθε client και ένα αρχείο εικόνας που περιέχει ένα snapshot της κίνησης που ανιχνεύτηκε. H εφαρμογή πελάτη υλοποιεί ένα απλό GUI στο οποίο καταγράφει τα events που έλαβε και απεικονίζει την τελευταία εικόνα που έλαβε (βλ. Σχήμα παρακάτω). O server θα πρέπει να εξυπηρετεί ταυτόχρονα πολλούς πελάτες.

Σχήμα

Ο server εξομοιώνει τη λειτουργία του αισθητήρα κίνησης παράγοντας διαδοχικά συμβάντα κίνησης με μια τυχαία χρονική απόσταση μεταξύ τους της τάξης των μερικών secs (π.χ. έως 2-5 ses). Για να υπάρχει μια εναλλαγή της εικόνας μεταξύ διαδοχικών συμβάντων που λαμβάνουν οι πελάτες σας δίνονται δύο png αρχεία τα οποία θα πρέπει να χρησιμοποιήσετε ως το snapsot της κάμερας που αποστέλεται κατά την ανίχνευση της κίνησης. Η φύση της εφαρμογής είναι τέτοια που ο client δεν πρέπει να κάνει polling στον server για την εμφάνηση των συμβάντων αλλά θα πρέπει ο server να ειδοποιεί τους clients μέσω callback μεθόδων. Αυτό σημαίνει ότι κάθε πελάτης θα πρέπει να μπορεί να κάνει export κάποιες μεθόδους του που θα μπορεί να καλεί απομακρσυμένα ο server. Κάθε πελάτης αντίστοιχα εγγράφεται στην υπηρεσία που προσφέρει ο server, ενώ όταν πελάτης τερματίζεται ο server σταματά να του στέλνει ειδοποιήσεις.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages