# Server-Programm auf Openshift-Server zum Laufen bringen



## kaffeesahne (18. Mrz 2015)

Hallo zusammen,
ich würde gerne ein Client-Programm schreiben, das mit einem Server-Programm kommuniziert und dadurch Daten mit anderen Clients austauschen kann. Als Server benutze ich dazu Openshift (TomCat).
Ich habe aus einem Tutorial ein einfaches Programm übernommen, das zwei Zahlen an den Server schickt, der das Produkt davon zurücksendet (nur mal zum ausprobieren...)
Wenn ich als Server localhost nehme, funktioniert das auch prima. Aber wie muss ich das jetzt umschreiben, dass es auf dem Openshift-Server funktioniert?
Das Dateien auf den Server hochladen hat mit Servlets auch schon funktioniert, aber die sind ja eher HTML und können über einen Link aufgerufen werden. Ich würde aber gerne das Programm hochladen, dass dann immer im Hintergrund läuft. Dazu muss ich wahrscheinlich auch irgendwas mit den action_hooks machen, so wie ich das verstanden habe. 
Wäre super, wenn mir jemand weiterhelfen oder einen Link empfehlen kann, wo das ausführlich beschrieben wird! Danke schonmal im Voraus!


Falls das wichtig ist, hier noch Server- und Client-Programm:

Das Server-Programm:

```
import java.io.*;
import java.math.BigInteger;
import java.net.*;
import java.util.Scanner;

public class MulServer
{
  private static void handleConnection( Socket client ) throws IOException
  {
    Scanner     in  = new Scanner( client.getInputStream() );
    PrintWriter out = new PrintWriter( client.getOutputStream(), true );

    String factor1 = in.nextLine();
    String factor2 = in.nextLine();

    out.println( new BigInteger(factor1).multiply( new BigInteger(factor2) ) );
  }

  public static void main( String[] args ) throws IOException
  {
    ServerSocket server = new ServerSocket( 3141 );

    while ( true )
    {
      Socket client = null;

      try
      {
        client = server.accept();
        handleConnection ( client );
      }
      catch ( IOException e ) {
        e.printStackTrace();
      }
      finally {
        if ( client != null )
          try { client.close(); } catch ( IOException e ) { }
      }
    }
  }
}
```

Das Client-Programm:

```
import java.net.*;
import java.util.Scanner;
import java.io.*;

class MulClient
{
  public static void main( String[] args )
  {
    Socket server = null;

    try
    {
      server = new Socket( "localhost", 3141 ); //Statt localhost kommt hier natürlich dann die Server-Adresse rein
      Scanner     in  = new Scanner( server.getInputStream() );
      PrintWriter out = new PrintWriter( server.getOutputStream(), true );

      out.println( "2" );
      out.println( "4" );
      System.out.println( in.nextLine() );

      server = new Socket( "localhost", 3141 );
      in  = new Scanner( server.getInputStream() );
      out = new PrintWriter( server.getOutputStream(), true );

      out.println( "23895737895" );
      out.println( "434589358935857" );
      System.out.println( in.nextLine() );
    }
    catch ( UnknownHostException e ) {
      e.printStackTrace();
    }
    catch ( IOException e ) {
      e.printStackTrace();
    }
    finally {
      if ( server != null )
        try { server.close(); } catch ( IOException e ) { }
    }
  }
}
```


----------

