uni

University stuff
git clone git://git.margiolis.net/uni.git
Log | Files | Refs | README | LICENSE

doc.tex (3674B)


      1 \documentclass{article}
      2 \usepackage[utf8]{inputenc}
      3 \usepackage[greek,english]{babel}
      4 \usepackage{alphabeta}
      5 \usepackage{fancyhdr}
      6 \usepackage{listings}
      7 \usepackage{mathtools}
      8 \usepackage{xcolor}
      9 \usepackage{biblatex}
     10 \usepackage[left=1cm,right=1cm]{geometry}
     11 
     12 \lstset {
     13         basicstyle=\ttfamily,
     14         columns=fullflexible,
     15         breaklines=true,
     16         keepspaces=true,
     17 	showstringspaces=false
     18 }
     19 
     20 \title{Εργαστήριο Κατανεμημένων Συστημάτων - Εργασία 2}
     21 \author{Χρήστος Μαργιώλης -- 19390133}
     22 \date{Μάιος 2022}
     23 
     24 \begin{document}
     25 
     26 \begin{titlepage}
     27         \maketitle
     28         \begin{figure}[t!]
     29         \begin{center}
     30         \includegraphics[scale=0.3]{./res/uniwalogo.png} \\
     31         \Large
     32         \textbf{Πανεπιστήμιο Δυτικής Αττικής} \\
     33         \large
     34         Τμήμα Μηχανικών Πληροφορικής και Ηλεκτρονικών Υπολογιστών
     35         \end{center}
     36         \end{figure}
     37 \end{titlepage}
     38 
     39 \renewcommand{\contentsname}{Περιεχόμενα}
     40 \tableofcontents
     41 
     42 \section{Δομή αρχείων}
     43 
     44 \begin{itemize}
     45 	\item \lstinline{HRInterface}: Interface που περιέχει τις δηλώσεις των
     46 		μεθόδων του server.
     47 	\item \lstinline{HRImpl}: Υλοποίηση του interface.
     48 	\item \lstinline{Room}: Βοηθητική κλάση για την υλοποίηση των δωματίων
     49 		του ξενοδοχείου.
     50 	\item \lstinline{HRServer}: Ο server.
     51 	\item \lstinline{HRClient}: Ο client.
     52 \end{itemize}
     53 
     54 \section{Εκτέλεση κώδικα}
     55 
     56 Κάνουμε compile τον κώδικα:
     57 
     58 \begin{lstlisting}
     59 	$ javac *.java
     60 \end{lstlisting}
     61 
     62 Ανοίγουμε δύο terminals. Στο ένα ξεκινάμε το \lstinline{rmiregistry} και στο
     63 άλλο τον server. Σε τρίτο terminal εκτελούμε τον client, ο οποίος μπορεί
     64 να εκτελεστεί με έναν από τους 4 τρόπους:
     65 
     66 \begin{lstlisting}
     67 	java HRClient list <hostname>
     68 	java HRClient book <type> <number> <name> <hostname>
     69 	java HRClient guests <hostname>
     70 	java HRClient cancel <type> <number> <name> <hostname>
     71 \end{lstlisting}
     72 
     73 \section{Ενδεικτικά τρεξίματα}
     74 
     75 Τα παρακάτω τρεξίματα δείχνουν τους 4 διαφορετικούς τρόπους εκτέλεσης του
     76 client, καθώς και τους χειρισμούς περιπτώσεων που μπορούν να προκείψουν (π.χ
     77 δεν υπάρχουν ελεύθερα δωμάτια, υπάρχουν λιγότερα δωμάτια από όσα θέλει να
     78 κρατήσει ο πελάτης)
     79 
     80 \includegraphics[width=\linewidth]{res/run1.png}
     81 \includegraphics[width=\linewidth]{res/run2.png}
     82 
     83 \section{Κώδικας}
     84 
     85 Ο κώδικας είναι σχολιασμένος στα σημεία που θεωρώ ότι μπορεί να υπάρξει
     86 σύχγηση, και όχι ακόμα και σε σημεία που είναι λίγο-πολύ ξεκάθαρο το τι
     87 συμβαίνει.
     88 
     89 \subsection{\lstinline{HRInterface.java}}
     90 
     91 \lstinputlisting[language=java]{../src/HRInterface.java}
     92 \pagebreak
     93 
     94 \subsection{\lstinline{HRImpl.java}}
     95 
     96 \lstinputlisting[language=java]{../src/HRImpl.java}
     97 \pagebreak
     98 
     99 \subsection{\lstinline{Room.java}}
    100 
    101 \lstinputlisting[language=java]{../src/Room.java}
    102 \pagebreak
    103 
    104 \subsection{\lstinline{HRServer.java}}
    105 
    106 \lstinputlisting[language=java]{../src/HRServer.java}
    107 \pagebreak
    108 
    109 \subsection{\lstinline{HRClient.java}}
    110 
    111 \lstinputlisting[language=java]{../src/HRClient.java}
    112 \pagebreak
    113 
    114 \end{document}