Можно ли передать ArrayList через Socket (OutputStreamWriter)

318
26 ноября 2016, 19:10

Можно ли передать ArrayList через Socket (OutputStreamWriter), если да, то как?

Есть список на сервере и его надо передать клиенту.

Answer 1

Да, можно.

Отправляете:

try {
    ServerSocket serverSocket = new ServerSocket(1234);
    Socket socket = serverSocket.accept();
    ArrayList<String> arrayList =  new ArrayList<String>();
    arrayList.add("Hello");
    arrayList.add("world");
    try {
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
        objectOutputStream.writeObject(arrayList);
    }
    catch (IOException e) {
        e.printStackTrace();
    }
}
catch (IOException e) {
    e.printStackTrace();
}

Принимаете:

try {
    Socket socket = new Socket("server_ip", 1234);
    ArrayList<String> arrayList = new ArrayList<String>();
    try {
        ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream());
        try {
            Object object = objectInputStream.readObject();
            arrayList =  (ArrayList<String>) object;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
} catch (UnknownHostException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
READ ALSO
связь между java EE и java SE

связь между java EE и java SE

Решил попробовать java EE и столкнулся с типичной проблемой "много инфы"

203
Как заблокировать вызов метода paintComponent()?

Как заблокировать вызов метода paintComponent()?

Я хочу заблокировать панель, в которой происходит рисованиеsetIgnoreRepaint(true) - не работает, я его вызываю в конструкторе фрейма; во фрейме упакована...

317
многопоточность, ошибка thread 2: exc_bad_access

многопоточность, ошибка thread 2: exc_bad_access

Изучаю многопоточность в С++Сделал простую программку на создание и вывод двумерного массива

210
Случаи указания типа данных в условии цикла

Случаи указания типа данных в условии цикла

Добрый вечерПришел с вопросом

161