Methode über DataInputStream "auslösen"

TheSkyRider

Mitglied
Hallo liebe Community,

Ich stehe mal wieder vor einer Herausforderung und zwar habe ich einen Server (ServerSocket)
und einen Clienten erstellt. Jetzt möchte ich dem Client, vom ServerSocket aus über den (Data)OutputStream
irgendwie die Anweisung senden er solle doch bitte die Methode myMethod() ausführen.
myMethod() (public static) wurde im Client deklariert.

Ich kenne leider nur die Methoden write() und read() des DataStreams aber damit kann ich ja nur einen String, Integer oder so ähnlich
schreiben bzw. lesen.
Mein Ziel ist es, dass wenn jemand der mit dem Server verbunden ist und einen Button drückt, beim Client ein Ton abgespielt wird und
Daten aus einer Datenbank gelesen werden, was in myMethod() deklariert wurde.


Ich danke im Voraus

LG
 
dass wenn jemand der mit dem Server verbunden ist
= Client

und einen Button drückt
Im Client

beim Client ein Ton abgespielt wird
Client...

Daten aus einer Datenbank gelesen werden
Clientseitig

was in myMethod() deklariert wurde.
myMethod() (public static) wurde im Client deklariert.
Client

Was genau hat das jetzt mit dem Server zu tun?

Nachtrag, ganz vergessen:
Jetzt möchte ich dem Client, vom ServerSocket aus über den (Data)OutputStream
irgendwie die Anweisung senden er solle doch bitte die Methode myMethod() ausführen.
Ja, schreibe das dem Client einfach: call myMethod()
 
= Client


Im Client


Client...


Clientseitig



Client

Was genau hat das jetzt mit dem Server zu tun?

Nachtrag, ganz vergessen:

Ja, schreibe das dem Client einfach: call myMethod()
Weil das funktionert bei mir nicht:

Vom Server aus:
Java:
DataOutputStream output = new DataOutputStream(client.getOutputStream());
output.write(call myMethod());
 
So war das nicht gemeint 🙂 Du sendest Daten über die Leitung, also schickst Du halt irgendeine Nachricht, die entsprechend interpretiert wird: "Oh, ich habe ein X empfangen, also führe ich myMethod() aus"
 
So war das nicht gemeint 🙂 Du sendest Daten über die Leitung, also schickst Du halt irgendeine Nachricht, die entsprechend interpretiert wird: "Oh, ich habe ein X empfangen, also führe ich myMethod() aus"
Aha, danke dir aber ein Code Beispiel würde ich super finden 🙂 !

Also mal angenommen ich mache folgendes auf dem Server:
Java:
DataOutputStream output = new DataOutputStream(client.getOutputStream());
output.writeUTF("call myMethod now");

Wie kann ich dann weitermachen ?

Ich habe also diesen String empfangen aber ich kann auch nicht sagen:
Java:
String doSomthg = input.readUTF();

If(doSomthgM.equals("call myMethod now"){
    myMethod();
}

Weil dann ginge es ja nur ein einziges mal, oder ?

Danke im Voraus
 

Zurück
Oben