Opgaver i distribueret programmering.

20. november 2000

2. Server broker

Der skal udarbejdes et program, som kan fungere som broker (mægler) mellem de egentlige klienter og de egentlige serverprogrammer.

 

 

De egentlige servere udgøres af programmerne Andreas, Brian og Carsten. Disse server programmer stiller en eller flere funktioner til rådighed for eventuelle klienter. Funktionerne kan f.eks. være HelloWorld eller Sum. Funktionerne aktiveres med tilhørende kommandoer.

Broker programmet

Når et af de egentlige server programmer startes, kaldes Broker serveren med kommandoen "SERVER navn". Herefter følger kommandoen "PORT portnr". IP adressen kan hentes fra Socket objektet med metoden getInetAddress().getHostAddress(). Efter disse data vedrørende serveren følger en eller flere af følgende kommandoer "FUNKTION funktionsnavn". Som afslutning kommer kommandoen "SLUT".

Hvis den egentlige server vil afmelde sig fra Broker serveren, sendes kommandoen "FARVEL navn".

Når en af de egentlige klienter ønsker at kalde en funktion (f.eks. HelloWorld eller Sum) kaldes først Broker serveren med kommandoen "QUERY funktionsnavn". Brokeren svarer med IP adresse og portnr på en server, hvor den søgte funktion findes.

Den egentlige klient kan nu kalde den egentlige server for at få udført den ønskede funktion.

HelloWorld

Dette serverprogram returnerer meddelelsen "Hello World", når det bliver kaldt.

Sum