C++ Multithreaded File transfer Qt Application

General Info
Peer to peer connection for transferring files between two users. Handles all file formats regardless of size.


Learning outcomes

  • Learning how to use packets headers to determine incoming data and size
  • Multithreading to handle user interface interaction, sending file, building file on receiving end
  • Dealing with ports to enable a connection
  • Qt usage


  • Windows Socket Programming
  • Qt framework for GUI
    • Client
      • Thread to receive commands/data
      • Thread to build file using received data
    • Qt
      • Client can browse and select any file (Will be notified of loading)
      • Progress bars available on both clients to indicate load, send and receive status