# Streams per RMI übergeben



## Angel4585 (15. Okt 2007)

Hallo,

ich möchte neben meiner RMI-Kommunikation, über Streams Dateien übers Netz schicken.
Kann ich irgendwie mit einer RMI-Methode vom Client aus eine SocketVerbindung zum Server übergeben, dass diese Verbindung dann steht?
Das wäre sehr gut weil ich dasnn schon weis zu welchem Client diese Verbindung gehört


----------



## SlaterB (15. Okt 2007)

ausprobieren?
man kann nur serialisierbare Objekte übertragen, Streams gehören nicht dazu
wie im Grunde alles was nicht ein simpler Datenspeicher ist,

übergib die URL als String oder ähnlich einfaches


----------



## tuxedo (15. Okt 2007)

AFAIK kommst du nicht drum rum eine zweite Verbindung neben RMI mit Sockets aufzubauen. Musste ich auch so machen. Mit RMI steuer ich aber den Verbindungs auf und abbau. Ist n bisschen frickelei das ganze konsistent bzw. synchron zu halten. Ist aber machbar.

- Alex


----------



## Niki (18. Okt 2007)

Warum schickst du die Dateien nicht direkt über RMI?


----------



## SlaterB (18. Okt 2007)

na das ist ja ein Vorschlag,
statt eine Email mit einem 30 Byte-Link zu verschicken lieber eine Email mit  5 MB Anhang?


----------



## Niki (18. Okt 2007)

Die Daten sollen ja so oder so übers Netz. 
3 Methoden brauchst du im Remote-Objekt:

```
openNewFile(String name);
writeToFile(byte[] b, int length);
closeFile();
```

Ich glaube nicht dass es ein großer Unterschied ist die Daten damit zu senden oder über einen Stream. Vielleicht irr ich mich auch, ausprobiert hab ichs nicht


----------



## SlaterB (18. Okt 2007)

wenn es um die Übertragung lokaler Dateien geht, stimmt, dann ist der Schritt von der Festplatte ins Java-Programm vernachlässigbar und ein direkter Zugriff vom Server eh nicht denkbar bzw. müsste auch dann irgendeine Art von Programm involvieren

ich dachte allgemein an einem Stream von einer dritten Partei


----------

