Package net.sf.microlog.server.socket

Source Code of net.sf.microlog.server.socket.SocketLogServer

package net.sf.microlog.server.socket;

import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
*
*
* @author Johan Karlsson (johan.karlsson@jayway.se)
*/
public class SocketLogServer implements Runnable {

  private Thread serverThread;

  /**
   * @param args
   */
  public static void main(String[] args) {
    SocketLogServer logServer = new SocketLogServer();
    logServer.startServer();
  }

  /**
   * Start the server.
   */
  public void startServer() {
    if (serverThread == null) {
      serverThread = new Thread(this);
    }

    if (!serverThread.isAlive()) {
      serverThread.start();
    }
  }

  public void run() {
    ServerSocket serverSocket = null;
    try {
      System.out.println("Creating server socket.");
      serverSocket = new ServerSocket(1234);
      System.out.println("ServerSocket is created.");
//      int port = 443;
//          ServerSocketFactory ssocketFactory = SSLServerSocketFactory.getDefault();
//          serverSocket = ssocketFactory.createServerSocket(port);
    } catch (IOException e) {
      System.err.println("Could not listen on port: "+e.getMessage());
      throw new RuntimeException("Could not listen on port: "+e.getMessage());
    }

    Socket clientSocket = null;
    try {
      System.err.println("Waiting for client to connect.");
      clientSocket = serverSocket.accept();
      System.err.println("Client is now connected.");
    } catch (IOException e) {
      System.err.println("Accept failed: "+e.getMessage());
      throw new RuntimeException("Failed to connect to the client");
    }

    try {
      DataInputStream dataInputStream = new DataInputStream(clientSocket
          .getInputStream());

      String inputLine = dataInputStream.readUTF();

      System.out.println("Start to read the input from the client.");
      while ((inputLine = dataInputStream.readUTF()) != null) {
        System.out.println(inputLine);
      }

    } catch (IOException e) {
      e.printStackTrace();
      System.out
          .println("Client has disconnected. Closing down the server.");
    }

  }
}

TOP

Related Classes of net.sf.microlog.server.socket.SocketLogServer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.