tanszek:oktatas:informacios_rendszerek_integralasa:chatserver
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:informacios_rendszerek_integralasa:chatserver [2023/05/05 15:58] – knehez | tanszek:oktatas:informacios_rendszerek_integralasa:chatserver [2024/04/19 12:33] (current) – knehez | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Server Side ===== | + | ===== Chat GUI ===== |
| Készítsünk egy csoportos Chat vastag kliens alkalmazást. Alkalmazzuk a Java-RMI technológiát. | Készítsünk egy csoportos Chat vastag kliens alkalmazást. Alkalmazzuk a Java-RMI technológiát. | ||
| - | Hozzunk létre két projektet az eclipse-ben a kliens és a szerver számára. | + | Hozzunk létre két projektet az eclipse-ben a kliens és a szerver számára. Az alábbi interakciós diagramm bemutatja az elvi működést. |
| + | < | ||
| + | sequenceDiagram | ||
| + | participant U as User | ||
| + | participant UI as ChatUI | ||
| + | participant CC as ChatClient | ||
| + | participant CS as ChatServer | ||
| + | participant IC as IChatClient | ||
| + | participant IS as IChatServer | ||
| + | |||
| + | U->> | ||
| + | UI->> | ||
| + | CC->> | ||
| + | IS->> | ||
| + | CS->> | ||
| + | IC->> | ||
| + | CC->> | ||
| + | UI->> | ||
| + | | ||
| + | U->> | ||
| + | UI->> | ||
| + | CC->> | ||
| + | IS->> | ||
| + | CS->> | ||
| + | IC->> | ||
| + | CC->> | ||
| + | UI->> | ||
| + | |||
| + | U->> | ||
| + | UI->> | ||
| + | CC->> | ||
| + | IS->> | ||
| + | CS-->> | ||
| + | IC->> | ||
| + | CC->> | ||
| + | UI->> | ||
| + | </ | ||
| + | |||
| + | Készíthetünk egy másik diagrammot is a működés bemutatásásra: | ||
| + | |||
| + | * **ChatUI** a felhasználói interfész, amely közvetlenül kommunikál a ChatClient-tel. | ||
| + | * **ChatClient** a kliens oldali logika, amely megvalósítja az IChatClient interfészt. | ||
| + | * **Java RMI Registry** a szolgáltatások nevének feloldására szolgál, amit a ChatClient használ a IChatServer interfész elérésére. | ||
| + | * **IChatServer** az interfész, amelyen keresztül a ChatClient kommunikál a ChatServer-rel. | ||
| + | * **ChatServer** a szerver oldali logika, amely megvalósítja az IChatServer interfészt. | ||
| + | * **Client List** a csatlakoztatott kliensek listája a szerveren. | ||
| + | * **User Interface** ábrázolja a felhasználói felület komponenseit, | ||
| + | E | ||
| + | z a diagram bemutatja a rendszer összetevőinek kapcsolódási és kommunikációs struktúráját, | ||
| + | |||
| + | < | ||
| + | graph TD | ||
| + | A[ChatUI] --> B[ChatClient] | ||
| + | B --> C{Java RMI Registry} | ||
| + | B --> | ||
| + | D --> E[ChatServer] | ||
| + | E --> F[IChatClient] | ||
| + | F --> B | ||
| + | D -.-> G[Client List] | ||
| + | E --> G | ||
| + | |||
| + | A -.-> H[User Interface] | ||
| + | H --> A | ||
| + | |||
| + | C -.-> | ||
| + | |||
| + | style A fill:# | ||
| + | style B fill:# | ||
| + | style C fill:# | ||
| + | style D fill:# | ||
| + | style E fill:# | ||
| + | style F fill:# | ||
| + | style G fill:# | ||
| + | style H fill:# | ||
| + | </ | ||
| ==== Project 1: ChatServer ==== | ==== Project 1: ChatServer ==== | ||
| 1.) IChatClient | 1.) IChatClient | ||
| - | <code java> | + | <sxh java> |
| import java.rmi.Remote; | import java.rmi.Remote; | ||
| import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
| Line 15: | Line 89: | ||
| public String getName() throws RemoteException; | public String getName() throws RemoteException; | ||
| } | } | ||
| + | </ | ||
| 2.) IChatServer | 2.) IChatServer | ||
| - | <code java> | + | <sxh java> |
| import java.rmi.Remote; | import java.rmi.Remote; | ||
| import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
| Line 29: | Line 104: | ||
| public ArrayList< | public ArrayList< | ||
| } | } | ||
| - | </code> | + | </sxh> |
| 3.) ChatServer | 3.) ChatServer | ||
| - | <code java> | + | <sxh java> |
| import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
| import java.rmi.server.UnicastRemoteObject; | import java.rmi.server.UnicastRemoteObject; | ||
| Line 67: | Line 142: | ||
| } | } | ||
| } | } | ||
| - | </code> | + | </sxh> |
| 4.) StartServer | 4.) StartServer | ||
| - | <code java> | + | <sxh java> |
| import java.rmi.Naming; | import java.rmi.Naming; | ||
| | | ||
| Line 86: | Line 161: | ||
| } | } | ||
| } | } | ||
| - | </code> | + | </sxh> |
| Line 97: | Line 172: | ||
| 1.) ChatClient | 1.) ChatClient | ||
| - | <code java> | + | <sxh java> |
| import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
| import java.rmi.server.UnicastRemoteObject; | import java.rmi.server.UnicastRemoteObject; | ||
| Line 122: | Line 197: | ||
| } | } | ||
| } | } | ||
| - | </code> | + | </sxh> |
| 2.) ChatUI | 2.) ChatUI | ||
| - | <code java> | + | <sxh java> |
| import java.awt.BorderLayout; | import java.awt.BorderLayout; | ||
| import java.awt.GridLayout; | import java.awt.GridLayout; | ||
| Line 275: | Line 350: | ||
| JFrame frame; | JFrame frame; | ||
| } | } | ||
| - | </code> | + | </sxh> |
| - | **Feladat 1.**: implementáljuk, | + | |
| + | **Feladat 1.**: implementáljuk, | ||
| + | |||
| + | **Feladat 2.**: implementáljuk továbbá, hogy kilépés esetén | ||
tanszek/oktatas/informacios_rendszerek_integralasa/chatserver.1683302304.txt.gz · Last modified: 2023/05/05 15:58 by knehez
