/WhatsPipe

Chat App + Client-Server architecture implemented only by using Threads, Pipes, Signals

Primary LanguageC++

WhatsPipe

Developers: Fudayl Çavuş | Mahmut Sacit Meydanal

whatspipelogo

Used

  • Pipes
  • Signal and Signal Handling
  • Threads
  • Exec And Fork
  • Child Processes

No external libraries are used

Features

Client

  • can change target anytime
  • can get notification if target user is offline
  • can get notification whenever target goes offline
  • can get notification even when the sender is someone else
  • can store messages (on memory)
  • can track all unread messages
  • has custom and responsive design

Server

  • can handle multiple clients at a time
  • can handle the change of user status
  • can trigger client whenever it's needed (by signals)
  • can handle duplicate names

Demonstration

How to run on your machine

UNIX BASED OS REQUIRED

Open terminal on cloned folder then do the following steps;

Client-Side Compilation

g++ -I./include -o client src/client.cpp src/screen.cpp src/events.cpp

Server-Side Compilation

g++ -I./include -o server src/server.cpp

then run ./server on one terminal, and ./client on 2 seperate terminals, voila! You are ready to go!

Special Thanks To Muhammet Cinsdikici for his contributions.