Java Reference
In-Depth Information
// Datei: IClientsideProxy.java
public interface IClientsideProxy
{
public void bearbeiteAntwort (byte[] antwort);
}
Die Klasse ClientsideTemperaturDienstProxy ist der Stellvertreter des Tem-
peraturdienstes auf der Seite des Clients. Hierf├╝r muss sie die gleiche Schnittstelle wie
auch die Klasse TemperaturDienst implementieren. Damit der Broker die Antwort-
nachrichten wieder zur├╝ckliefern kann, muss die Klasse ClientsideTemperatur-
DienstProxy des Weiteren die Schnittstelle IClientsideProxy implementieren:
// Datei: ClientsideTemperaturDienstProxy.java
public class ClientsideTemperaturDienstProxy
implements ITemperaturDienst, IClientsideProxy
{
private Broker broker;
private Float response;
public ClientsideTemperaturDienstProxy (Broker broker)
{
this.broker = broker;
System.out.println
("ClientSideTemperaturDienstProxy: instanziiert");
}
// Nimm Dienstaufruf entgegen, erzeuge Anfragenachricht
// und schicke sie an den Broker.
// Die zurueckgelieferte Antwort wird als Ergebnis des Aufrufs
// dem Client uebergeben.
public Float erfrageTemperatur (Tag tag)
{
String dienstName = "erfrageTemperatur";
byte[] anfrage = verpacken (dienstName, tag);
broker.anfrageWeiterleiten (anfrage, this);
return response;
}
// Hier kommt die Antwort des Servers ueber den Broker zurueck.
// Die Nachricht wird ausgepackt und intern zwischengespeichert.
public void bearbeiteAntwort (byte[] antwort)
{
response = auspacken (antwort);
}
// Erstelle eine Anfragenachricht in Form eines Byte-Arrays:
// mit eigenem Namen, Namen der aufgerufenen Dienstmethode
// und dem Argument des Dienstaufrufs.
private byte[] verpacken (String methode, Tag tag)
{
String meinName = "ClientsideTemperaturDienstProxy";
String anfrage = meinName + ";" + methode + ";"
+ tag.toString();
Search WWH ::




Custom Search