tanszek:oktatas:informacios_rendszerek_integralasa:chatserver
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
tanszek:oktatas:informacios_rendszerek_integralasa:chatserver [2022/03/11 18:37] – külső szerkesztés 127.0.0.1 | 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 | ||
+ | <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 | ||
+ | <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< | ||
} | } | ||
+ | </ | ||
3.) ChatServer | 3.) ChatServer | ||
+ | <sxh java> | ||
import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
import java.rmi.server.UnicastRemoteObject; | import java.rmi.server.UnicastRemoteObject; | ||
Line 67: | Line 142: | ||
} | } | ||
} | } | ||
+ | </ | ||
4.) StartServer | 4.) StartServer | ||
+ | <sxh java> | ||
import java.rmi.Naming; | import java.rmi.Naming; | ||
| | ||
Line 85: | Line 161: | ||
} | } | ||
} | } | ||
+ | </ | ||
Line 96: | Line 172: | ||
1.) ChatClient | 1.) ChatClient | ||
+ | <sxh java> | ||
import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
import java.rmi.server.UnicastRemoteObject; | import java.rmi.server.UnicastRemoteObject; | ||
Line 121: | Line 197: | ||
} | } | ||
} | } | ||
+ | </ | ||
2.) ChatUI | 2.) ChatUI | ||
+ | <sxh java> | ||
import java.awt.BorderLayout; | import java.awt.BorderLayout; | ||
import java.awt.GridLayout; | import java.awt.GridLayout; | ||
Line 273: | Line 350: | ||
JFrame frame; | JFrame frame; | ||
} | } | ||
+ | </ | ||
+ | |||
+ | **Feladat 1.**: implementáljuk, | ||
- | **Feladat | + | **Feladat |
tanszek/oktatas/informacios_rendszerek_integralasa/chatserver.1647023828.txt.gz · Last modified: 2022/03/11 18:37 by 127.0.0.1