<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.byte-welt.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hoax</id>
	<title>Byte-Welt Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.byte-welt.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hoax"/>
	<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php/Spezial:Beitr%C3%A4ge/Hoax"/>
	<updated>2026-07-08T07:05:03Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.byte-welt.net/index.php?title=RMI_minimal&amp;diff=5415</id>
		<title>RMI minimal</title>
		<link rel="alternate" type="text/html" href="https://wiki.byte-welt.net/index.php?title=RMI_minimal&amp;diff=5415"/>
		<updated>2013-08-14T12:12:03Z</updated>

		<summary type="html">&lt;p&gt;Hoax: return bei reverse-Implementierung hatte gefehlt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Tutorials (Java)]]&lt;br /&gt;
&lt;br /&gt;
=Einführung und Grundlagen=&lt;br /&gt;
&lt;br /&gt;
* RMI bedeutet Remote Method Invocation und dient dazu, auf einem Server implementierte Methoden Clients zur Benutzung Verfügbar zu machen.&lt;br /&gt;
* Voraussetzung ist JDK 1.5. RMI funktioniert zwar auch mit älteren Java-Versionen, ist da aber sehr umständlich.&lt;br /&gt;
* Zuerst Service-Interface definieren.&lt;br /&gt;
* Danach Server implementieren und starten.&lt;br /&gt;
&lt;br /&gt;
=Das Service-Interface=&lt;br /&gt;
&amp;lt;code=java&amp;gt;&lt;br /&gt;
import java.rmi.Remote;&lt;br /&gt;
import java.rmi.RemoteException;&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * Das Service-Interface.&lt;br /&gt;
 * Hier definierte Methoden werden im Server implementiert&lt;br /&gt;
 * und können von Clients aufgerufen werden.&lt;br /&gt;
 * Alle Methoden müssen &amp;quot;throws RemoteException&amp;quot; deklarieren.&lt;br /&gt;
 */&lt;br /&gt;
public interface Service extends Remote {&lt;br /&gt;
 &lt;br /&gt;
    /** &lt;br /&gt;
     * Dreht den übergebenen String um &lt;br /&gt;
     */&lt;br /&gt;
    public String reverse(String input) throws RemoteException;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code=java&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Die Server-Klasse=&lt;br /&gt;
&amp;lt;code=java&amp;gt;&lt;br /&gt;
import java.rmi.RemoteException;&lt;br /&gt;
import java.rmi.registry.LocateRegistry;&lt;br /&gt;
import java.rmi.registry.Registry;&lt;br /&gt;
import java.rmi.server.UnicastRemoteObject;&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * Implementierung des Service auf Serverseite&lt;br /&gt;
 */&lt;br /&gt;
public class Server extends UnicastRemoteObject implements Service {&lt;br /&gt;
 &lt;br /&gt;
    protected Server() throws RemoteException {&lt;br /&gt;
        super();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /** Dreht den übergebenen String um */&lt;br /&gt;
    public String reverse(String input) {&lt;br /&gt;
        StringBuilder sb = new StringBuilder(string);&lt;br /&gt;
        return sb.reverse().toString();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    public static void main(String... args) throws Exception {&lt;br /&gt;
        // RMI-Registry starten, Server erzeugen und an Registry binden&lt;br /&gt;
        // Standard-Port ist 1099 (Registry.REGISTRY_PORT)&lt;br /&gt;
        &lt;br /&gt;
        LocateRegistry.createRegistry(Registry.REGISTRY_PORT);&lt;br /&gt;
        Registry registry = LocateRegistry.getRegistry(Registry.REGISTRY_PORT);&lt;br /&gt;
        registry.rebind(&amp;quot;PalindromService&amp;quot;, new Server());&lt;br /&gt;
        System.out.println(&amp;quot;Server läuft...&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code=java&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Der Client=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code=java&amp;gt;&lt;br /&gt;
import java.rmi.Naming;&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * Client-Klasse zum Aufruf des RMI-Service.&lt;br /&gt;
 */&lt;br /&gt;
public class Client {&lt;br /&gt;
 &lt;br /&gt;
    public static void main(String... args) throws Exception {&lt;br /&gt;
        Service service = (Service) Naming.lookup(&amp;quot;rmi://127.0.0.1/PalindromService&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
        String palindrom = &amp;quot;Geist ziert Leben, Mut hegt Siege, Beileid trägt belegbare Reue, &amp;quot;&lt;br /&gt;
            + &amp;quot;Neid dient nie, nun eint Neid die Neuerer, abgelebt gärt die Liebe, &amp;quot;&lt;br /&gt;
            + &amp;quot;Geist geht, umnebelt reizt Sieg.&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        String res = service.reverse(palindrom);&lt;br /&gt;
        System.out.println(res);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code=java&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hoax</name></author>
	</entry>
</feed>