Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 26.05.2018
Сообщений: 21

Обработать отправленное сообщение с класса Client

12.06.2019, 16:42. Показов 988. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс Client
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.*;
 
public class Client extends JFrame implements Runnable {
 
    static private Socket socket;
    static private ObjectOutputStream outputStream;
    static private ObjectInputStream inputStream;
 
    public static void main(String[] args) {
        new Thread(new Client()).start();
    }
 
    Client() {
        super();
        setLayout(new FlowLayout());
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setLocationRelativeTo(null);
 
        final JTextArea jTextAreaJPanel2 = new JTextArea();
        JScrollPane scroller2 = new JScrollPane(jTextAreaJPanel2);
        jTextAreaJPanel2.setLineWrap(true);
        scroller2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scroller2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
 
 
 
        final JButton button = new JButton("Send");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                if (actionEvent.getSource() == button) {
                    sendData(jTextAreaJPanel2.getText());
//                    jTextAreaJPanel2.setText("");
                }
            }
        });
 
        add(scroller2);
        add(button);
    }
 
    @Override
    public void run() {
        try {
            while(true) {
                socket = new Socket(InetAddress.getByName("127.0.0.1"), 5678);
                outputStream = new ObjectOutputStream(socket.getOutputStream());
                inputStream = new ObjectInputStream(socket.getInputStream());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    private static void sendData(Object obj) {
        try {
            outputStream.flush();
            outputStream.writeObject(obj);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
}
Как в другом классе, например, Server принять отправленную строку и вывести, например, в консоль?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.06.2019, 16:42
Ответы с готовыми решениями:

QSerialPort: не удается получить отправленное сообщение
Здравствуйте, уважаемые форумчане. Пытаюсь начать работать с ком-портом при помощи Qt. Нашел, посмотрел и повторил действия из видео:...

Нестандартное сообщение, отправленное при помощи функции BroadcastSystemMessage
Помогите разобраться, пожалуйста :) Как при субкласировании получить нестандартное сообщение, отправленное при помощи функции...

SIP Client: Сбой при получении производства объектов класса COM для компонента
Добрый вечер, есть необходимость написать свой SIP клиент, перерыл кучу всяких библиотек, в виду малого опыта работы именно с этой...

5
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
12.06.2019, 20:06
pepyachka, например слушать порт 5678, прочитать сообщение и напечатать в консоль. Обычно все примеры клиента сопровождаются примерами сервера
0
1 / 1 / 1
Регистрация: 26.05.2018
Сообщений: 21
12.06.2019, 21:03  [ТС]
Welemir1, например:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.net.*;
import java.util.stream.Collectors;
 
public class Server {
    static private ServerSocket serverSocket;
    static private Socket socket;
    static private ObjectOutputStream outputStream;
    static private ObjectInputStream inputStream;
 
    static private  JTextArea jTextAreaJPanel2;
 
    Server() {
        JFrame jFrame = new JFrame("Сервер");
//        JPanel jPanel = new JPanel();
        jFrame.setLayout(new GridLayout(1, 1));
        jFrame.setSize(500, 500);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
        jFrame.setLocationRelativeTo(null);
 
        jTextAreaJPanel2 = new JTextArea();
        JScrollPane scroller2 = new JScrollPane(jTextAreaJPanel2);
        jTextAreaJPanel2.setLineWrap(true);
        scroller2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scroller2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jTextAreaJPanel2.setEditable(false);
 
//        jPanel.add(scroller2);
        jFrame.add(scroller2);
    }
 
    public static void main(String[] args) {
        Server server = new Server();
        server.run();
    }
 
    public void run() {
        try {
            serverSocket = new ServerSocket(5678, 10);
            while (true) {
                socket = serverSocket.accept();
                outputStream = new ObjectOutputStream(socket.getOutputStream());
                inputStream = new ObjectInputStream(socket.getInputStream());
                StringBuffer stringBuffer = new StringBuffer();
                stringBuffer.replace(0, stringBuffer.length(), (String) inputStream.readObject());
//                jTextAreaJPanel2.append("Вы прислали: " + stringBuffer + "\n");
                System.out.println("Вы прислали: " + stringBuffer.substring(0) + "\n");
//                outputStream.writeObject("Вы прислали: " + inputStream.readObject());
 
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
12.06.2019, 21:35
pepyachka, да, вроде того, только серверу то не надо графической оболочки, можно просто в консоль писать все
0
1 / 1 / 1
Регистрация: 26.05.2018
Сообщений: 21
12.06.2019, 21:38  [ТС]
Welemir1, просто то, что я скинул(класс Сервера), не работает
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
12.06.2019, 21:53
https://cs.lmu.edu/~ray/notes/javanetexamples/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2019, 21:53
Помогаю со студенческими работами здесь

Класс People и два класса-наследника Working и Client: Поиск по части слова
Здравствуйте. Имеется базовый класс People и два класса-наследника Working и Client. Далее создал два list с этими объектами Working и...

ООП. Как обработать событие приватного класса
Доброго времени суток. Public класс содержит в себе экземпляр Private класс, в котором может произойти событие. Схематический пример...

Как обработать исключение из класса наследника в базовом классе
Добрый день. Пишу приложение Windows Forms на C#. У меня есть базовый класс, у которого есть: одно общее свойство, конструктор базового...

В учебном заведении три компьютерных класса. Ввести площадь каждого класса и количество компьютеров в нем. Для каждого класса вывести сообщение наруше
В учебном заведении три компьютерных класса. Ввести площадь каждого класса и количество компьютеров в нем. Для каждого класса вывести...

Чат. Нужно чтобы все клиенты видели отправленное сообшение
Просьба помочь. Я новичок в C#. Хочу создать многопользовательский ЧАТ. Есть клиент, и сервер. Загвоздка в том что клиент видит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru