# Server soll Zugriff auf Java Programm ermöglichen



## jason (23. Nov 2006)

Hallo,

kann mir jemand sagen wie ich z.B. ein Programm u.java in den TCPServer einlesen kann, so dass ich über den Client das Programm aufrufen kann?


import java.net.*;
import java.io.*;

public class TCPServer {
  public static void main (String args[]) {
    try{
      System.out.println("Der Server ist gestartet");
	  int serverPort = 7896;
	  ServerSocket listenSocket = new ServerSocket (serverPort);
	  while(true) {
	    Socket clientSocket = listenSocket.accept();
	    System. out.println("Neue Verbindung");
	    Connection c = new Connection(clientSocket);
	  }
    } catch( IOException e) {System.out.println(" Listen :"+ e.getMessage());}
  }// main
}//class


class Connection extends Thread {

  DataOutputStream out = new DataOutputStream();
  DataInputStream in = new DataInputStream();
  Socket clientSocket;

  public Connection (Socket aClientSocket) {
    try {
      clientSocket = aClientSocket;
      out = new DataOutputStream(clientSocket.getOutputStream());
      in = new DataInputStream(clientSocket.getInputStream());     
      this.start();
    } catch( IOException e) {System. out. println(" Connection:"+ e.getMessage());}
  }

  public void run(){
    try {
      String data = in.readUTF ();
	  out.writeUTF(data);

	  System.out.println("Weitergeleitet: " + data);	  
	  clientSocket.close();
    } catch( EOFException e) {System.out.println(" EOF:"+ e.getMessage());
    } catch( IOException e) {System.out.println(" IO:"+ e.getMessage());}
  }
}


----------



## SlaterB (23. Nov 2006)

zunächst mal die java-Datei ganz normal übertragen und auf dem Server speichern,
ist dazu eine Frage oder dieser Teil klar?

dann kompilieren und ausführen,
kompilieren mit javac als Runtime-Aufruf oder wenn tools.jar eingebungen ist, dann gehts vielleicht auch direkt,

ausführen wiederum über Runtime oder mittels Reflection die main-Operation der neuen Klasse finden und aufrufen,

wenn diese beiden Teile noch nicht klar sind, dann solltest du sie auf jeden Fall erstmal lokal ausprobieren,
nicht übers Netzwerk versuchen..


----------



## jason (23. Nov 2006)

Ich habe eine Datei u.java, die folgendermaßen aussieht:

import java.io.*;
import java.lang.String;

class u
{
 public static void main (String [] args)	//H A U P T P R O G R A M M
 {
  int wunsch = 0;
  int fldaten = 0;
  int padaten = 0;
  boolean da;
  boolean db;
  Säugetiere abc = new Säugetiere();
  Fische bcd = new Fische();

  try
  {							
   do
   {
    da = true;
    System.out.println(" Hauptmenu:");
    System.out.println("************");
    System.out.println("");
    System.out.println("Bitte waehlen Sie die gewuenschte Funktion:");
    System.out.println("1 fuer Säugetiere");
    System.out.println("2 fuer Fische");
    System.out.println("3 fuer Beendigung des Programms");
    System.out.println("");
    do
    {
     db = false;
     wunsch = Eingabe.lesenint();
     if (wunsch == 1 || wunsch == 2 || wunsch == 3)
     {
      db = true;
     }
    }
    while (db == false);

    switch (wunsch)
    {
     case 1: do
	 {
      db = true;
      System.out.println("");
      System.out.println("");
	  System.out.println("Säugetiere:");
      System.out.println("Funktionen zur Auswahl:");
      System.out.println("");
      System.out.println("1  = Hunderassen suchen");
      System.out.println("2  = Katzenrassen suchen");
      System.out.println("3  = Uebersicht ueber Pferderassen");
      System.out.println("4  = zurueck zum Hauptmenue");
      System.out.println("");
      System.out.println("Geben Sie jetzt die Kennziffer der gewuenschten Funktion ein.");
      daten1 = Eingabe.lesenint();
      switch (daten1)
      {
       case 1: abc.suche1(); break;
       case 2: abc.suche2(); break;
       case 3: abc.uebersicht1(); break;
       case 5: db = false; break;
	   default: System.out.println("Ungueltige Eingabe!!!"); break;
      }
     }
     while(db == true);

     case 2: do
     {
 	  db = true;
      System.out.println("");
      System.out.println("");
	  System.out.println("Fische:");
      System.out.println("Funktionen zur Auswahl:");
      System.out.println("1  = Uebersicht Fischfutter");
      System.out.println("2  = Uebersicht Fischarten");
      System.out.println("3  = Fischfutter anlegen");
      System.out.println("4  = zurueck zum Hauptmenue");
      System.out.println("");
      System.out.println("Geben Sie jetzt die Kennziffer der gewuenschten Funktion ein.");
      daten2 = Eingabe.lesenint();
      switch(daten2)
      {
       case 1: bcd.uebersicht2(); break;
       case 2: bcd.uebersicht3(); break;
       case 3: bcd.anlegen(); break;
       case 4: db = false; break;
       default: System.out.println("Ungueltige Eingabe!!!"); break;
      }
     }
     while(db == true);

	 default: System.out.println("Fehler!"); break;
    }
   }
   while (da == true);
  }
  catch (Exception e)
  {
   System.out.println("Es gab einen Eingabefehler!");
  }
 }
}                      

Wie verbinde ich das Programm mit TCPServer.java?


----------



## SlaterB (23. Nov 2006)

> Wie verbinde ich das Programm mit TCPServer.java?

verbinden? ich denke es geht darum, eine Java-Datei zu einem Server hochzuladen und dort auszuführen?

wenn ja, siehe mein erstes Post,

wenn das falsch war sage was du mit 'verbinden' meinst


----------

