JAVA Networking


Überblick

RMI

Im wesentlichen besprechen wir drei Gruppen von Routinen:

  1. channel ch (v1:t1, ..., vn:tn): Definition und Erzeugung von channels:

    Server:
    srv = new ServerSocket(port),
    s = srv.accept(),
    new ObjectInputStream(s)

    Client:
    s = new Socket(host,port),
    new ObjectOutputStream(s)

  2. send ch (e1, ..., en): Packen und Versenden:
    ch.out.writeObject(ei)

  3. receive ch (v1, ..., vn): Empfangen und Entpacken:
    vi=ch.in.readObject()


Definition und Erzeugung von channels

channel ch (v1:t1, ..., vn:tn): Definition und Erzeugung von channels:

Server:

srv = new ServerSocket(port),
s = srv.accept(),
ch.in = new ObjectInputStream(s.getInputStream())

Client:

s = new Socket(host,port),
ch.out = new ObjectOutputStream(s.getOutputStream())


Packen und Versenden

send ch (e1, ..., en): Packen und Versenden:
synchronized(ch.out) {
ch.out.writeObject(e1);
...
ch.out.writeObject(en);}
}


Empfangen und Entpacken

receive ch (v1, ..., vn): Empfangen und Entpacken:
synchronized(ch.in) {
v1=ch.in.readObject();
...
vn=ch.in.readObject();
}


Shared Mem: Asynchronous Channels, ex9.java

Shared Mem: Synchronous Channels, ex9s.java

Remote Channels, ex10.java



[Previous] [Next] [Contents]