Hallo Leute,
Ich versuche eher verzweifelt einen String Array an meinen Server zu schicken, der die einzelnen
Array Inhalte benutzt um befehle aus zu führen. Mir fiel keine bessere Möglichkeit ein dies zu realisieren.
Der Client sendet also das String Array das erste Element ist der Befehl der ausgeführt wird der zweite soll der Parameter sein. Doch wenn ich das Array schicke bekomme ich glaube ich nur eine Referenz hat jemand vllt. eine Ahnung wie man das realisieren könnte.
Danke im Voraus für Vorschläge.
Der Servercode:
Und der Client Code:
Ich versuche eher verzweifelt einen String Array an meinen Server zu schicken, der die einzelnen
Array Inhalte benutzt um befehle aus zu führen. Mir fiel keine bessere Möglichkeit ein dies zu realisieren.
Der Client sendet also das String Array das erste Element ist der Befehl der ausgeführt wird der zweite soll der Parameter sein. Doch wenn ich das Array schicke bekomme ich glaube ich nur eine Referenz hat jemand vllt. eine Ahnung wie man das realisieren könnte.
Danke im Voraus für Vorschläge.
Der Servercode:
Java:
public class Server {
public static void main(String[] args) throws IOException {
String clientSentence;
ServerSocket ss = new ServerSocket(7777);
System.out.println("Server wurde gestartet");
while(true)
{
Socket connectionSocket = ss.accept();
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
// Test um die IP & Port vom Remote Host zu bekommen
System.out.println("Server accepting new connection from "+
connectionSocket.getRemoteSocketAddress());
clientSentence = inFromClient.readLine();
System.out.println("Received from Client: " + clientSentence);
// Implementierung der Befehle
if (clientSentence.equals("herunterfahren")){
System.out.println("Computer wird heruntergefahren");
//Irgendeine Methode
machwas();
}
}
}
}
Und der Client Code:
Java:
public class Client {
public static void senden(final String[] befehl)
{
Thread t = new Thread(){
@Override
public void run() {
try{
Socket s = new Socket("192.168.178.77", 7777);
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
out.println(befehl);
}
catch (UnknownHostException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace();}
}
};
t.start();
}
public static void main(String[] args) {
final String[] befehlArr = new String[20];
befehlArr[0] = "herunterfahren";
befehlArr[1] = "neustarten";
Client cl = new Client();
cl.senden(befehlArr);
}
}