https://github.com/mnh-stack/os-chat-system
A terminal-based chat system using Named Pipes (FIFO) in C for Linux & WSL. Enables real-time, bidirectional communication between sender and receiver processes using inter-process communication (IPC). Supports signal handling for clean termination.
https://github.com/mnh-stack/os-chat-system
bash c chat-system fifo ipc linux networking os wsl
Last synced: about 1 year ago
JSON representation
A terminal-based chat system using Named Pipes (FIFO) in C for Linux & WSL. Enables real-time, bidirectional communication between sender and receiver processes using inter-process communication (IPC). Supports signal handling for clean termination.
- Host: GitHub
- URL: https://github.com/mnh-stack/os-chat-system
- Owner: mnh-stack
- Created: 2025-03-05T20:55:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-05T21:20:35.000Z (over 1 year ago)
- Last Synced: 2025-03-21T22:31:47.795Z (about 1 year ago)
- Topics: bash, c, chat-system, fifo, ipc, linux, networking, os, wsl
- Language: C
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OS Chat System
## 📌 Overview
OS Chat System is a simple inter-process communication (IPC) chat application using **Named Pipes (FIFO)** in C. It enables multiple users to send and receive messages efficiently within a local Linux or WSL environment.
## ⚡ Features
- ✅ Real-time message sending and receiving
- ✅ Uses Named Pipes (FIFO) for communication
- ✅ Compatible with **WSL (Windows Subsystem for Linux) and Linux**
- ✅ Lightweight and efficient
## 🚀 Installation & Usage
### **Step 1: Clone the Repository**
```sh
git clone https://github.com/noumancomputes/OS-Chat-System.git
cd OS-Chat-System
```
### **Step 2: Compile the Code**
Use `gcc` to compile:
```sh
gcc Chat_Sender.c -o sender
gcc Chat_Receiver.c -o receiver
```
### **Step 3: Run the Chat System**
#### **In One Terminal: Start the Receiver**
```sh
./receiver
```
#### **In Another Terminal: Start the Sender**
```sh
./sender
```
Now, type messages in the sender terminal, and they will appear in the receiver terminal.
## ⚠️ Requirements
- Linux or **Windows Subsystem for Linux (WSL)**
- GCC Compiler (`sudo apt install gcc` for Ubuntu/WSL)
## 📚 License
This project is **MIT Licensed**. Feel free to use and modify it.