Skip to content

Send text messages through the terminal to another connected device.

Notifications You must be signed in to change notification settings

aaayyuusshh/network-messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TERMINAL_MESSENGER

Welcome to a client/server (network) based application which allows synchronous messaging between your device and your friend's device through the terminal 💻


Motivation

🧟 Imagine there was an apocalypse where all the messaging apps in the world were destroyed and only the terminal remained. Well, no problem, I've got you covered! Run the server code in one of your friends computer & run the client code in your computer, and have a two way communication (just like your favourite text messaging app) through the terminal using the messenger feature. (Yes, this really works! just change the IP address in line 18 of the client code to your friends local machine's IP.)

In progress

  • Two way terminal based text messaging messenger ✅
  • Two way terminal based Tic-Tac-Toe game

Overview

  • Client has an option to use the messenger, encryption, & decryption feature.
  • Messenger: Simulates a text messaging environment which allows a two way communication between client and server through syncronized text messages.
  • Encryption: Client can send server a message to encrypt & the server will use encryption algorithm & send client the encrypted message in 2 parts(vowels & non vowels) over the network.
  • Decryption: Client can send server a valid encrypted message in 2 parts (vowels & non vowels) & the server will use decyption algorithm & send client the decrypted message in 1 part over the network.
  • NOTE: Client/Server communication can be done in one local machine or over the internet, where the server and client are configured in different machine.

Messager Feature:

Screen Shot 2022-05-05 at 9 29 32 PM

Encryption Feature:

Screen Shot 2022-05-05 at 9 37 27 PM

Decryption Feature:

Screen Shot 2022-05-05 at 9 40 25 PM

How to Run Locally

  • Clone this repository git clone https://github.com/aaayyuusshh/network-messenger.git
  • Set up 2 terminal windows(for client & server) and navigate (cd) to the directory with the repo files.
  • To compile server code, type g++ -o s server.cpp in terminal 1 & type ./s to run.
  • To compile client code, type g++ -o c client.cpp in terminal 2 & type ./c to run.
  • Server must be running before a client can run.

What I learnt

  • Socket Programming Concepts.
  • Networking protocols of the Internet Protocol Stack.
  • Data transmission over a network through TCP & UDP protocols.
  • C++ Programming Basics.
  • Multiprocessing through fork() system call.

Contact me if you would like me to demonstrate how to run this program over the internet and not just locally.

About

Send text messages through the terminal to another connected device.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages