User Tools

Site Tools


tanszek:oktatas:informacios_rendszerek_integralasa:chatserver

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:informacios_rendszerek_integralasa:chatserver [2024/03/26 18:06] kneheztanszek: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.
  
 +<mermaid>
 +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: Starts Application
 +    UI->>CC: Creates ChatClient
 +    CC->>IS: Tries to connect
 +    IS->>CS: Login request
 +    CS->>IC: Checks if client can connect
 +    IC->>CC: Connection successful
 +    CC->>UI: Update UI (Connected)
 +    UI->>U: Show connected status
 +    
 +    U->>UI: Enter message
 +    UI->>CC: Send message
 +    CC->>IS: Publish message
 +    IS->>CS: Publish message to all clients
 +    CS->>IC: Iterate over clients
 +    IC->>CC: Display message
 +    CC->>UI: Update UI with new message
 +    UI->>U: Show new message
 +
 +    U->>UI: Disconnect
 +    UI->>CC: Disconnect from server
 +    CC->>IS: Logout request
 +    IS->>CS: Remove client from list
 +    CS-->>IC: Update client list
 +    IC->>CC: Acknowledge disconnect
 +    CC->>UI: Update UI (Disconnected)
 +    UI->>U: Show disconnected status
 +</mermaid>
 +
 +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, amelyek interakcióban állnak a felhasználóval.
 +E
 +z a diagram bemutatja a rendszer összetevőinek kapcsolódási és kommunikációs struktúráját, beleértve a kliens és szerver közötti interakciókat.
 +
 +<mermaid>
 +graph TD
 +    A[ChatUI] --> B[ChatClient]
 +    B --> C{Java RMI Registry}
 +    B -->|lookup| D[IChatServer]
 +    D --> E[ChatServer]
 +    E --> F[IChatClient]
 +    F --> B
 +    D -.-> G[Client List]
 +    E --> G
 +
 +    A -.-> H[User Interface]
 +    H --> A
 +
 +    C -.->|registers| E
 +
 +    style A fill:#f9f,stroke:#333,stroke-width:4px
 +    style B fill:#bbf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
 +    style C fill:#fea,stroke:#333,stroke-width:2px
 +    style D fill:#bbf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
 +    style E fill:#f99,stroke:#333,stroke-width:4px
 +    style F fill:#bbf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
 +    style G fill:#dff,stroke:#333,stroke-width:2px
 +    style H fill:#fff,stroke:#333,stroke-width:2px
 +</mermaid>
 ==== Project 1: ChatServer ==== ==== Project 1: ChatServer ====
  
Line 277: Line 351:
   }   }
 </sxh> </sxh>
-**Feladat 1.**: implementáljuk, hogy új kliensek belépése esetén, a régiek megkapják a teljes felhasználó listát+ 
 +**Feladat 1.**: implementáljuk, hogy új kliensek belépése esetén, a régiek is megkapják az új belépő nevét.  
 + 
 +**Feladat 2.**: implementáljuk továbbá, hogy kilépés esetén felhasználók törlődjenek
tanszek/oktatas/informacios_rendszerek_integralasa/chatserver.1711476410.txt.gz · Last modified: 2024/03/26 18:06 by knehez