BufferedReader for ServerSocket : ServerSocket « Network Protocol « Java






BufferedReader for ServerSocket

   

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class HTTPServer {

  public static void main(String[] args) throws Exception {

    ServerSocket sSocket = new ServerSocket(1777);
    while (true) {
      System.out.println("Waiting for a client...");
      Socket newSocket = sSocket.accept();
      System.out.println("accepted the socket");

      OutputStream os = newSocket.getOutputStream();
      BufferedReader br = new BufferedReader(new InputStreamReader(newSocket.getInputStream()));

      String inLine = null;
      while (((inLine = br.readLine()) != null) && (!(inLine.equals("")))) {
        System.out.println(inLine);
      }
      System.out.println("");

      StringBuffer sb = new StringBuffer();
      sb.append("<html>\n");
      sb.append("<head>\n");
      sb.append("<title>Java \n");
      sb.append("</title>\n");
      sb.append("</head>\n");
      sb.append("<body>\n");
      sb.append("<H1>HTTPServer Works!</H1>\n");
      sb.append("</body>\n");
      sb.append("</html>\n");

      String string = sb.toString();

      byte[] byteArray = string.getBytes();

      os.write("HTTP/1.0 200 OK\n".getBytes());
      os.write(new String("Content-Length: " + byteArray.length + "\n").getBytes());
      os.write("Content-Type: text/html\n\n".getBytes());

      os.write(byteArray);
      os.flush();

      os.close();
      br.close();
      newSocket.close();
    }

  }
}

   
    
    
  








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.ServerSocket per Socket
7.Write number to client
8.Read and write with ServerSocket
9.Threaded Server 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.