Java API Tutorial - Java ServerSocket() Constructor








Syntax

ServerSocket() constructor from ServerSocket has the following syntax.

public ServerSocket()    throws IOException

Example

In the following code shows how to use ServerSocket.ServerSocket() constructor.

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketTimeoutException;
//  w  w w.  j a  v a2  s .c o m
public class Main extends Thread {
  private ServerSocket serverSocket;

  public Main () throws IOException {
    serverSocket = new ServerSocket();
    serverSocket.setSoTimeout(10000);    
    
    serverSocket.bind(InetSocketAddress.createUnresolved("java2s.com", 8080), 1000);
  }

  public void run() {
    while (true) {
      try {
        System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "...");
        Socket client = serverSocket.accept();

        System.out.println("Just connected to " + client.getRemoteSocketAddress());
        client.close();
      } catch (SocketTimeoutException s) {
        System.out.println("Socket timed out!");
        break;
      } catch (IOException e) {
        e.printStackTrace();
        break;
      }
    }
  }

  public static void main(String[] args) {
    try {
      Thread t = new Main ();
      t.start();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}