Можно ли передать ArrayList
через Socket
(OutputStreamWriter
), если да, то как?
Есть список на сервере и его надо передать клиенту.
Да, можно.
Отправляете:
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();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Решил попробовать java EE и столкнулся с типичной проблемой "много инфы"
Я хочу заблокировать панель, в которой происходит рисованиеsetIgnoreRepaint(true) - не работает, я его вызываю в конструкторе фрейма; во фрейме упакована...
Изучаю многопоточность в С++Сделал простую программку на создание и вывод двумерного массива