Java Reference
In-Depth Information
public void anfrageWeiterleiten (byte[] anfrage,
IClientsideProxy proxy)
{
String clientName = ermittleClientName (anfrage);
String dienstName = ermittleDienstName (anfrage);
clientMap.put (clientName, proxy);
IServersideProxy serverProxy = findeServer (dienstName);
serverProxy.bearbeiteAnfrage (anfrage);
}
// Diese Methode ruft ein Server-side Proxy auf, der eine
// Antwortnachricht als Ergebnis eines Dienstaufrufs
// an den Client schicken will. Der Clientname ist in der
// Antwortnachricht enthalten.
public void antwortWeiterleiten (byte[] antwort)
{
String clientName = ermittleClientName (antwort);
IClientsideProxy clientProxy = findeClient (clientName);
clientProxy.bearbeiteAntwort (antwort);
clientMap.remove (clientName);
}
// Diese Methode sucht in der serverMap nach dem Dienstnamen.
private IServersideProxy findeServer (String dienst)
{
return serverMap.get (dienst);
}
// Diese Methode sucht in der clientMap nach dem Clientnamen.
private IClientsideProxy findeClient (String client)
{
return clientMap.get (client);
}
// Ermittle Clientname aus Antwortnachricht
private String ermittleClientName (byte[] nachricht)
{
String[] strings = (new String (nachricht)).split (";");
return strings[0];
}
// Ermittelt Dienstname aus der Anfragenachricht.
private String ermittleDienstName (byte[] anfrage)
{
String[] strings = (new String (anfrage)).split (";");
return strings[1];
}
}
Damit ein Broker Antwortnachrichten wieder an einen Client-side Proxy zurückliefern
kann, muss die entsprechende Klasse das folgende Interface IClientsideProxy
implementieren:
Search WWH ::




Custom Search