C++ Multithreaded Chat Qt Application

General Info
Users can connect to a chatroom and communicate with each other.

Learning outcomes

  • Multithreading to handle concurrent connections and user interface interaction
  • Sending and receiving data over windows socket
  • Qt usage

Components

  • Windows Socket Programming
  • Qt framework for GUI
    • Server
      • Thread to accept new socket and handles from then on
    • Client
      • Thread to receive message
      • Send message based on “Send” button or “Enter” detection from GUI
    • Qt
      • User decides connection type (Server/Client)
      • User prompted to enter name as client
      • Allows users to send message using button or when “enter” is detected in the send box
      • Automatically scrolls chatbox
      • Link to website provided