Witam mam pewien problem pisze pewnie programik który ma wymieniać się zawartościami tablic. Posiada on trzy klasy "tablice","server" i "client", w klasie "tablice" posiadam dwie tablice tab1(jakieś dane) i tab2(same zera), i teraz mam problem ponieważ nie wiem jak wymienić się tablicami(chodzi mi o to ze serwer wyśle tab1 a klient ja odbierze i wpisze w tab2 i na odwrót), funkcja main znajduje się w klasie "tablice" w niej tez jest wybór czy aplikacja ma pracować jako serwer czy klient.

- Rejestracja:prawie 16 lat
- Ostatnio:prawie 7 lat
- Postów:274
0
Strumienie InuputStream
oraz OutputStream
możesz udekorować odpowiednio klasami ObjectInputStream
oraz ObjectOutputStream
. Tak opakowane strumienie pozwalają na przesyłanie obiektów implementujących interfejs Serializable
, mógłbyś więc przesyłać przez strumień cały obiekt opisujący tablicę.

- Rejestracja:prawie 17 lat
- Ostatnio:prawie 5 lat
0
"Opakowanie" tablicy:
import java.io.*;
public class SerializedObject implements Serializable
{
private int[] array=null;
//-------------------------
public void setArray(int[] array)
{
this.array=array;
}
//-------------------------
public int[] getArray()
{
return array;
}
}
Wysyłanie:
Socket socket = new Socket(host, 4000);
oos = new ObjectOutputStream(socket.getOutputStream());
SerializedObject so = new SerializedObject();
int[] data = {3, 3, 3, 3, 3, 3, 3};
so.setArray(data);
oos.writeObject(so);
oos.flush();
oos.close();
edytowany 1x, ostatnio: bogdans
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.