TCP Chat - Utilitar - Maramureș - Lucrari 2017 Nationala

Informatii generale

Descriere

TCP Chat este un sistem de chat alcătuit dintr-un server, client și un tool de administrare la distanță. Acest sistem are trei puncte forte care îl fac ideal pentru folosire.

  1. Securitate: Toate pachetele trimise în rețea sunt criptate cu AES-128, acest lucru facând imposibilă decriptarea mesajelor de către altcineva care dorește să intercepteze mesajele.

  2. Intimitate: Serverul este extrem de ușor de configurat, nu durează mai mult de 15 secunde, poate să ruleze pe windows, linux și mac. Ceea ce îți garantează că și tu poți să faci un server în câteva secunde și nu trebuie să te îngrijorezi cum și cine administrează serverul.

  3. Ușurința în utilizare: Dacă vorbim de alte aplicații de mesagerie, de exemplu mIRC. Ați încercat să configurați vreodata un server de mIRC? Nu este chiar cel mai simplu lucru de făcut, nu are nici o securitate când e vorba despre mesaje, toate sunt trimise în rețea ca “plain text”. Cu Team Speak 3 este acelaș lucru, serverul nu este ușor de configurat, toate datele sunt transmise în plain text. Cu toate astea cele două menționate mai sus au un punct forte, intimitate. Poți să creezi un server și să fii sigur că nu mai există un third-party care interceptează conversațiile. Dar securitatea și ușurința în utilizare lipsesc cu desăvărșire.

Tehnologii

Sistemul a fost scris în întregime în limbajul C#, de la 0. De ce am ales C#? Datorită posibilităților de portare la diferite platforme, atât pe desktop cât și pe mobil.

Am folosit Windows Forms pentru GUI. Vă întrebați de ce WinForms și nu WPF sau alt framework? E bine pentru ca WPF nu este suportat de către mono, iar alte framework-uri pe care le știu au ca target sistemul de operare windows. Așadar, mono suportând WinForms, portarea clientului și a tool-ului de administrare pe alte platforme este posibilă doar cu foarte mici modificări.

Codul este scris de la 0, fără nici o librărie externă, chiar pentru a facilita portarea. Chiar dacă este WinForms am implementat design pattern-ul Model View Presenter pentru a crește ușurința în implementarea unui nou GUI sau pentru a menține codul, pentru a aduce schimbări. Astfel View, care este formul, nu conține partea logică a aplicației, tot programul nu știe nimic de view, nici view-ul de restul programului. Practic sunt separate, astfel facilitând introducerea unui nou design sau portarea pe alte platforme. Presenter-ul este cel care conține codul logic pentru interacțiunea cu utilizatorul. Celălalte părți ale programului interacționeaza cu presenterul și model ca să iși îndeplinească scopul.

Cerinte sistem

Pentru server, dacă rulează pe GNU/Linux necesită mono runtime. Sau .Net 4.5 pe windows.

Iar pentru client și tool-ul de administrare necesită .Net 4.5.

Realizatori

Gabi Tiplea

  • Scoala: Liceul Pedagogic “Regele Ferdinand”
  • Clasa: 11
  • Judet: Maramureș
  • Oras: Bocicoiu Mare

Screenshots