Skip to content

Group chat - client/server implementation to explore the base ZeroMQ API and some of the higher level patterns.

Notifications You must be signed in to change notification settings

ArshiyaPathan/GroupChat-using-ZeroMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GroupChat-using-ZeroMQ

This is a group chat client/server implementation to explore the base ZeroMQ API and some of the higher level patterns.

The client uses multithreading and ZeroMQ's asynchronous I/O model to separately update the message text input interfaces, communicate between components, and send messages and receive replies from the server.

The server simply exposes a port for incoming messages and broadcasts them to all currently connected clients.

ZeroMQ is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications.
It provides a message queue, but unlike message-oriented middleware, a ZeroMQ system can run without a dedicated message broker.

How to Setup

virtualenv -p python3 my-venv
. my-venv/bin/activate
pip3 install -r requirements.txt

How to run Chat server

python3 server.py

How to run a Chat client

python3 client.py [username]

Expected Output

Bob's client

python3 client.py Bob
User[Bob] Connected to the chat server.
[Bob] > 
[Alice]: Hi from Alice.
[Smith]: Hi from Smith.
[Bob] > Hello World

Alice's client

python3 client.py Bob
User[Alice] Connected to the chat server. 
[Alice] > Hi from Alice.
[Smith]: Hi from Smith.
[Bob]: Hello World

About

Group chat - client/server implementation to explore the base ZeroMQ API and some of the higher level patterns.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages