Scalability
When the demand on a server increases and decreases, it is desirable to change the resources dedicated to the server. The options available range from the use of manual threads to allow concurrent behavior to those embedded in specialized classes to handle thread pools and NIO channels.
Creating a threaded server
In this section, we will use threads to augment our simple echo server. The definition of the ThreadedEchoServer
class is as follows. It implements the Runnable
interface to create a new thread for each connection. The private Socket
variable will hold the client socket for a specific thread:
public class ThreadedEchoServer implements Runnable { private static Socket clientSocket; public ThreadedEchoServer(Socket clientSocket) ...
Get Learning Network Programming with Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.