ระบบแชตแบบกระจาย (Distributed Chatroom) ที่ใช้กลไก Inter-Process Communication (IPC) ผ่าน Message Queue บน Linux โดยใช้หลัก Functional Programming และสามารถรันบน Docker ได้
รองรับ:
- การสร้างห้อง (JOIN)
- การส่งข้อความสาธารณะ (SAY)
- การส่งข้อความส่วนตัว (DM)
- การดูรายชื่อสมาชิกในห้อง (WHO)
- ออกจากห้อง (LEAVE)
- ออกจากระบบ (QUIT)
├── Dockerfile
├── docker-compose.yml
├── Makefile
├── server.cpp
├── router.cpp
├── broadcaster.cpp
├── client.cpp
├── registry.hpp
└── demo_tmux.sh
unzip ipc_chat_dockerized.zip
cd ipc_chat_dockerized
docker build -t ipc-chat:latest .
docker run --rm -it --name ipc-chat ipc-chat:latest /bin/bash
chmod +x demo_tmux.sh (ให้สิทธิ์รันคพสั่ง )
./demo_tmux.sh
ขวาบน => Client 1
ขวาล่าง => Client 2
ซ้าย => Server
JOIN < room >
เข้าห้องแชต
SAY < room > < message >
ส่งข้อความในห้อง
WHO < room >
ดูรายชื่อในห้อง
DM < client_id > < message >
ส่งข้อความส่วนตัว
LEAVE < room >
ออกจากห้อง
QUIT < room >
ออกจากระบบ