Threaded Server with ServerSocket : ServerSocket « Network Protocol « Java






Threaded Server with ServerSocket

   
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

class ThreadedServer {
  private final static int BUFSIZE = 512;

  public static void main(String args[]) throws Exception {
    int port = Integer.parseInt(args[0]);
    ServerSocket ss = new ServerSocket(port);

    while (true) {
      Socket s = ss.accept();
      ServerThread st = new ServerThread(s);
      st.start();
    }
  }
}

class ServerThread extends Thread {
  private double total = 0;

  DataInputStream dis;

  DataOutputStream dos;

  public ServerThread(Socket s) throws Exception {
    InputStream is = s.getInputStream();
    dis = new DataInputStream(is);
    OutputStream os = s.getOutputStream();
    dos = new DataOutputStream(os);
  }

  public void run() {
    try {
      while (true) {
        double value = dis.readDouble();
        total += value;
        dos.writeDouble(total);
      }
    } catch (Exception e) {
    }
  }
}

   
    
    
  








Related examples in the same category

1.Data server
2.Object server
3.Compressed socket
4.String value based server
5.Get internet address from connected socket client
6.BufferedReader for ServerSocket
7.ServerSocket per Socket
8.Write number to client
9.Read and write with ServerSocket
10.Start new thread for each client
11.A multithreaded Socket Server
12.Get IP address from NetworkInterface and create server socket
13.Manages asynchonous HTTP GET downloads and demonstrates non-blocking I/O with SocketChannel and Selector
14.A very simple Web server. When it receives a HTTP request it sends the request back as the reply.
15.Print stream server
16.Zip server socket
17.implements a multithreaded server that listens to port 8189 and echoes back all client input.
18.This program implements a simple server that listens to port 8189 and echoes back all client input.