1.Implement the same electronic chatroom application that you did for exercise

 

2. above, but this time using Java's non-blocking I/O on the server. You may

very well be able to make use of your original client program, but have the

client close its socket only after it has received (and displayed) its own 'Bye'

message sent back from the server. You can also now get rid of the code

dealing with any NoSuchElementException.

At the server end, you will probably find it useful to maintain two Vectors,

the first of these holding references to all SocketChannels of newly-connected

clients for which no data has been processed and the second holding

references to instances/objects of class ChatUser. Each instance of this class

should hold references to the SocketChannel and chatname (a String)

associated with an individual chatroom user, with appropriate 'get' methods to

retrieve these references. As the first message from a given user (the one

holding the user's chatroom nickname) is processed, the user's SocketChannel

reference should be removed from the first Vector and a ChatUser instance

created and added to the second Vector.

It will probably be desirable to have separate methods to deal with the

following:

(i) a user's entry into the chatroom;

(ii) a normal message;

(iii) a user's exit from the chatroom (after sending 'Bye').

Signatures for the first and last of these are shown below.

public static void announceNewUser(

SocketChannel userSocketChannel,

ByteBuffer buffer)

public static void announceExit(String name)

Found something interesting ?

• On-time delivery guarantee
• PhD-level professional writers
• Free Plagiarism Report

• 100% money-back guarantee
• Absolute Privacy & Confidentiality
• High Quality custom-written papers

Related Model Questions

Feel free to peruse our college and university model questions. If any our our assignment tasks interests you, click to place your order. Every paper is written by our professional essay writers from scratch to avoid plagiarism. We guarantee highest quality of work besides delivering your paper on time.

Grab your Discount!

25% Coupon Code: SAVE25
get 25% !!