Module: T-JSF-600
Technical specifications :
- Uses TCP and is compatible with TLS
- Uses the standard ports 6665-6669
Internet Relay Chat is a text-based chat system for instant messaging.
"IRC is designed for group communication on forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer including file sharing." (Wikipedia)
- IRC is an open protocol that uses TCP and, optionally, TLS.
- IANA port: 194
/TCP
- de facto the standard is to RUN IRC on 6667
/TCP
to avoid running the IRC daemon with root privileges. - The protocol implementation is documented in the RFC 1459
- The servers accepts multiple connections.
- The server implements channels.
- It must be possible to join several channels simultaneously ;
- Must be able to create, rename and delete channels ;
- A message must be displayed when a user joins or leaves a channel ;
- Users must, of course, be able to speak in the channels they have joined.
- Channels and messages must be persistently preserved.
- Each user must give a nickname before they can use the application.
- No authentication system is required, however it would be a welcome bonus
/nick
nickname: define the nickname of the user on the server./list
[string]: list the available channels from the server. If string is specified, only displays those whose name contains the string./create
channel: create a channel with the specified name./delete
channel: delete the channel with the specified name./join
channel: join the specified channel./quit
channel: quit the specified channel./users
list the users currently in the channel/msg
nickname message: send a private message to the specified nickname.message
send a message to all the users on the channel
How to use it:
Server:
cd Server && npm start
Client:
cd Client && npm start