pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/huser123/Python_LAN_chat

" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-71a44d5be3f782c5.css" /> GitHub - huser123/Python_LAN_chat
Skip to content

huser123/Python_LAN_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Egyszerű Python Chat Alkalmazás

Ez egy egyszerű Python-alapú szerver-kliens chat alkalmazás, amely hálózati kommunikációt valósít meg ugyanazon alhálón belül. A projekt célja, hogy a diákok megismerkedjenek az alapvető hálózati programozási koncepciókkal, mint például a socketek és több szálú folyamatok használata.

Jellemzők

  • Több kliens egyidejű kiszolgálása.
  • Kliens azonosító megadása.
  • Privát üzenetek küldése az azonosítók alapján.
  • Minden kliensnek szóló üzenetek küldése.
  • Egyszerű grafikus felhasználói felület (GUI) támogatása a Tkinter segítségével.

Telepítés és futtatás

1. Szerver indítása

A szerver kódja a szerver.py. Futtatásához:

python szerver.py
  • A szerver alapértelmezett IP-címe: 0.0.0.0 (minden interfész figyelése).
  • Az alapértelmezett port: 12345.
  • A szerver terminálján megjelennek a csatlakozó kliensek és az üzenetküldések részletei.

2. Kliens indítása

A kliens kétféleképpen indítható:

Terminál alapú kliens

A terminálos kliens kódja a kliens.py. Futtatásához:

python kliens.py
  • A futtatás után a kliens megkérdezi az azonosítót.
  • Az üzeneteket az alábbi formátumban lehet küldeni:
    • Privát üzenet: SEND:<cél_azonosító>:<üzenet>
    • Mindenkinek szóló üzenet: ALL:<üzenet>

GUI alapú kliens

A grafikus kliens kódja a kliensgui.py. Futtatásához:

python kliens-gui.py
  • A futtatás után a felhasználónak meg kell adnia az azonosítóját.
  • A GUI lehetőséget biztosít:
    • Címzett kiválasztására (egyedi azonosító vagy „ALL” a broadcast üzenetekhez).
    • Üzenetek beírására és küldésére egy gombbal vagy az Enter billentyűvel.
    • Fogadott üzenetek megtekintésére egy görgethető szövegmezőben.

Példa működésre

  1. Indítsd el a szervert egy terminálban.
  2. Indíts két vagy több klienst külön terminálokban vagy GUI-ban.
  3. Az egyik kliens küldhet üzenetet a másiknak:
    SEND:azonosito1:Hello, hogyan vagy?
    
  4. Az összes kliensnek szóló üzenet:
    ALL:Ez egy üzenet mindenkinek!
    

Fontos megjegyzések

  • Az alkalmazás csak az azonos alhálón lévő eszközök között működik.
  • A szerver és a kliensek közötti kommunikáció TCP-alapú, ezért stabil kapcsolat szükséges.
  • A kód oktatási célokra készült, és nem tartalmaz fejlett biztonsági funkciókat.

Kód magyarázat

Szerver

A szerver fogadja a kliensek kapcsolatait, és egyedi azonosítókat kezel:

  • kezeles függvény: Egy-egy kliens kommunikációjának kezelése.
  • Privát üzenetküldés: Az azonosító alapján a megfelelő kliensnek továbbítja az üzenetet.
  • Broadcast: Az összes kliensnek továbbítja az üzenetet, kivéve a küldőt.

Terminálos Kliens

A terminálos kliens kapcsolatot létesít a szerverrel, és valós idejű üzenetküldést biztosít:

  • fogadas függvény: A szervertől érkező üzenetek kezelése.
  • Az azonosító bekérése után a felhasználó szabadon küldhet üzeneteket más klienseknek.

GUI Kliens

A GUI kliens a Tkinter könyvtárat használja az interaktív felület megvalósításához:

  • Üzenetek fogadása: A szerverről érkező üzenetek megjelenítése egy görgethető szövegmezőben.
  • Üzenetek küldése: Címzett kiválasztása és üzenet beírása után az Enter gombbal vagy küldés gombbal lehet üzenetet küldeni.
  • Párhuzamos működés: A fogadási folyamat külön szálon fut, így a GUI zavartalanul használható.

Licenc

Ez a kód szabadon használható és módosítható oktatási célokra.

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy