Socket przesyłanie tablic

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.

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

VI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:212
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.

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

"Opakowanie" tablicy:

Kopiuj
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:

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

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
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.