This project will be used to teach TCP IP basics for Java students, my lack of expertise on java is what makes me ask for your help.
The chat must be more or less a clone of mIRC (for the client interface) but more simple.
There must be a "Server" which must use threads in order to accept multiple connections.
Also there will be a "Client", with grafical interface. As you run the client, there must be a login feature where the user places the ip adress of the server, the port number to use and his nickname, after pressing a "connect" button, the user will enter a "general" chat room, where any user can participate, when a new user enters, a message should appear telling other users that this new user is connected, also when a user parts of the chat room, there would be a similar message.
Any particular user could create a new room, with any name he decides. There must be a list with these rooms in order to other users to see them and "join". When a user "joins" or "leaves" the room, there must be an announcement similar to the one described above.
Once the user is in a room, the messages sent would only be seen in that particular room.
If a user is inactive for more than 2 minutes, he must be logged off of the chat, and giving the respective announcements.
Any user can send a private message to another user, this could be implemented as a new room where only the 2 users appear (and it is not visible in the "rooms list"), or as a "message from xxx: xxxxxxxx" in the room window, but it must be seen only by the selected user. (private message).
On the main pane (as mirc) there will be all the messages sent to the room, from all users. Every message should include the nickname of the user, example ( Tony: Hello everyone)
There must be a list of users so that a nickname couldnt be used twice.
I have several examples of code that could help you start, and the code for the graphical interface. I include a snapshot of the graphical interface I made. Please understand Im a student and this would help me teach my lab, also note that I cant afford big numbers. Thanks!
9 freelancers are bidding on average $77 for this job
We have developed similar applications before and we are masters if J2EE with an experience of about 6 [login to view URL] us the detail specifications we can develop it before the mentioned deadline.