Package server

Source Code of server.ServerController

package server;

import java.io.IOException;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
* De ServerController is de controller van het netwerk van ons programma.
* @author David Covemaeker, Maarten Minnebo, Tim Van Thuyne, Toon Kint
*/

public class ServerController
{
  private Socket socket;
  private ServerReader sreader;
  private ServerWriter swriter;
 
  /**
   * De constructor vraagt een Socket aan, aan de klasse Connector.
   * Het maakt de ServerReader en -Writer aan en aan beide wordt de Socket meegegeven.
   * De ServerReader wordt in een Thread uitgevoerd!
   * @param server De gekozen server
   * @param login De gekozen loginnaam
   * @param port De gekozen poort
   */
  public ServerController (String server, String login, int port) throws IOException
  {
    socket = Connector.connection(server, login, port);
   
    if(socket != null)
    {
      sreader = new ServerReader(socket);
      swriter = new ServerWriter(socket);
     
      ExecutorService threadExecutorService = Executors.newSingleThreadExecutor();
      threadExecutorService.execute(sreader);
      threadExecutorService.shutdown();
    }
  }

  /**
   * Roept de writeLine methode van de ServerWriter op.
   * Wordt opgeroepen om een speciale lijn door te geven. (Zoals bijv. een PING)
   * @param line De weg te schrijven lijn
   */
  public void writeLine (String line) throws IOException
  {
    swriter.writeLine(line);
  }
 
  /**
   * Roept de sayLine methode van de ServerWriter op.
   * Geeft een gewoon chatbericht door.
   * @param channel De naam van het kanaal
   * @param line
   */
  public void sayLine (String channel, String line) throws IOException
  {
    swriter.sayLine(channel, line);
  }
 
  /**
   * De methode getServerReader wordt opgeroepen in de IRCController wanneer er wordt geconnecteerd met het netwerk.
   * De IRCController maakt van de ServerReader een observer.
   * @return De ServerReader
   */
  public ServerReader getServerReader()
  {
    return sreader;
  }
 
  public Socket getSocket()
  {
    return socket;
  }
 
  public void closeSocket() throws IOException
  {
    Connector.closeSocket();
  }
}
TOP

Related Classes of server.ServerController

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.