A multiclient chat application in which message can be sent to an individual or a group with end to end encryption.
- server.py
- client.py
- load_balancer.py
- userData.txt, groups.txt, uroll.txt, UIPort.txt
- class_diagram.pdf
python server.py <PORT>
python load_balancer.py
python client.py <IP:PORT>
-
We used file handling for storing user data permanently at the server side.
-
Load balancer will take care of servers and allot server (with less load) to clients.
-
For sending messages to multiple users or groups, write their names in comma seperated format without any space. (Eg : user1,user2,grp1,grp2)
-
We assumed that unique Roll no. and usernames will be provided.
-
In CREATE_USER command, inputs should be given in this format :
CREATE_USER <username> <password> <rollno>
-
For sending normal messages, use this command :
SEND <username(s) or group(s)> <message>
-
For sending files, use this command :
SEND <username(s) or group(s)> FILE <filepath>
-
Shared files will be saved in the current working directory with name
username_filename
.