IRC or Internet Relay Chat is an application that lets multiple users communicate via text messages with each other in common "virtual" rooms.
This program is a CLI(command line interface)-based application.
-
Implementing an IRCclient and server from scratch in this project using whatever programming language.
-
In charge of all of the protocol specifications and functionality of IRC application.
-
Basic functionalities:
- supprot mulitple client connecting to server as a user
- list rooms available
- list members of a room
- create a room
- join multiple rooms
- leave a room
- send message to a specific room
- private message
- client disconnect from server
- server can disconnect
- client, server handle crash from each other
-
Other features:
- File transfer
- Secure messaging
- Cloud connected server
- etc
-
Refer to the IRC project grading criteria
-
Not Graphical user interfaces
-
Turn in an RFC-style document that describes IRC protocol (describe the format of the messages that the client and server will exchange in order to properly implement the IRC application).
-
An example RFC is the IRC RFC 1459: https://tools.ietf.org/html/rfc1459
pip install -r requirements.txt
python3 socket-server.py <PORT>
python socket-server.py <PORT>
python3 socket-client.py <HOST> <PORT>
python socket-client.py <HOST> <PORT>
python3 socket-client.py irc.karanokara.com 29