A real-time WPF chat app client and C# console server for TCP networking. Includes packet handling, customizable ports, and localization.
- 📦 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
(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
Go to the Releases section. Provided as a ZIP archive with compiled executables, compatible with Windows 7 and above (x64).
