Skip to content

laurentbarraud/wpf-chat-server

Repository files navigation

WPF Chat Server & Client in C#

A real-time WPF chat app client and C# console server for TCP networking. Includes packet handling, customizable ports, and localization.

Release GitHub release downloads

WPF chat client in C# with light theme screenshot

Features

  • 📦 Packet protocol with opcodes — both server and client use a packet format that includes an opcode, so receivers can identify packet types
  • 👥 Real‑time user list — the client shows connected users and the list updates automatically on login/logout
  • 🔌 Configurable TCP port — the client can choose the TCP port before connecting; the server accepts a custom bind port at startup
  • 🏠 Local mode — the client will run locally if no IP address is provided
  • 💾 Last‑IP memory — the client remembers the last successful IP for faster reconnection
  • 🪟 Tray and Escape behavior — the client can minimize to the system tray on close, reduce or when pressing Escape
  • 😀 UTF‑8 message encoding — an emoji toolbar is available during text entry
  • 🔒 [soon] Message encryption with RSA asymmetric keys and OAEP‑SHA256 padding, 2048‑bit key (active development)
  • 🎨 Theme support — light and dark themes switchable at any time via a toggle
  • 🌐 Fully localized in French and English

Development Setup

(Unstable build — it is recommended to download the latest release instead)

  • Open the '.sln' file in Visual Studio 2022
  • Build the solution with Ctrl+Shift+B
  • Run with debugging (F5) to test both projects using local connection
  • Launch additional clients as needed to simulate 2, 3, or more connected users

Download

Go to the Releases section. Provided as a ZIP archive with compiled executables, compatible with Windows 7 and above (x64).