Socket przesyłanie tablic

0

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.

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ę.

0

Albo idąc na łatwiznę stworzyć klasę tylko na obie tablice i ją wysyłać przez w/w metodę.

0

A mógł bym prosić i jakiś przykładowy kod jak to zrobić? Ponieważ sieć w javie to dla mnie nowość i dopiero zaczynam z nią przygodę. Był bym bardzo wdzięczny.

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();

1 użytkowników online, w tym zalogowanych: 0, gości: 1