CLI Chat Program Based on RabbitMQ
- JRE >= 1.7
- Maven installed
- RabbitMQ 3.5.6 server installed on localhost
-
Resolve maven dependency
$ mvn dependency:copy-dependencies
-
Build
jar
using mavenmvn
$ mvn package
-
Start rabbitmq broker
-
Run
RpcServer
from the generatedjar
intarget
folder$ java -cp target/dependency/*:target/rabbitmq-chat-1.0.jar com.edmundophie.chat.RpcServer
-
Run
RpcClient
from the generatedjar
intarget
folder$ java -cp target/dependency/*:target/rabbitmq-chat-1.0.jar com.edmundophie.chat.RpcClient
nick <nickname>
: login asnickname
. Leavenickname
empty to login as a random userjoin <channelname>
: join to a channel namedchannelname
leave <channelname>
: leave a channel namedchannelname
@<channelname> <message>
: sendmessage
to a channel namedchannelname
<message>
: send a message to all user joined channellogout
: logout from currentnickname
exit
: stop program
- All basic commands (nick, join, leave, etc)
- Invalid command (e.g.
@<channelname>
without message) - Send a message when no channel is joined
- Send a message to a channel that is not a member of
- Join a channel that already a member of
- Leave a channel that is not a member of
- Logout and relogin with the same nickname
- Login with existed nickname
- Multiclient chat
- Edmund Ophie 13512095
- Kevin 13512097