На этом слайде мы создадим все методы универсального сокета в классе Phone. Протестируйте программу в разных режимах.
Придумайте, какую ещё клиент-серверную программу можно написать.
Дата отправки отчёта:
10 декабря 2018 г.
Задание выполнено: за
1 день 22 час. 16 мин.
Чему научился:
1. Описать клиент серверные переменные в классе и переменные ввода вывода 2. Написать метод Phone для сервера 3. Написать метод Phone для клиента 4. Написать метод Accept() 5. Создать вспомогательный метод createStreams(). Написать reader и writer для него 6. Добавить метод в конструктор клиента и accept сервера 7. Дописать метод readLine() 8. Дописать метод writeLine() 9. Реализовать метод close() 10. Запустить Server с параметрами в IDEA 11. Запустить клиента из командной строки 12. Исправить ошибки проверить работу программы
Отличная прекрасная реализация
Что было сложным:
Не догадался в предыдущем уроке когда написал самостоятельно все методы что нужно при запуске программы параметры прописывать Пути до классов у меня немножко не такие в папке программы почему-то получились (\production\socket_java\*.class)
Научился: объявили в классе Phone сервер и клиент, буферизированный приёмник данных reader и передатчик writer
Первый конструктор Phone (тот, у которого лишь один аргумент - порт) - создаёт серверный сокет. При создании экземпляра серверного сокета в аргументы передаётся порт в виде строки, поэтому его парсим в целое число методом Integer.parseInt()
ALT + ENTER - добавили трайкеч для отлова ошибок
Конструктор клиентского экземпляра сокета принимает уже два аргумента - сетевой адрес и номер порта
IntellijIDEA позволяет добавлять аргументы при запуске программы через пункт Edit Configuration - выпадающее меню у кнопки запуска с названием класса
Необходимости в добавлении \r в моём случае не было. Как в видео - в одну строку у меня не выводило при отсутствии \r и указанной лишь \n
И так и эдак перенос строки выполнялся успешно
CTRL + C - остановка Сервера в командной строке
Звездочка, используемая в качестве аргумента "умножение" должна быть заключена в скобки, иначе она воспринимается командной строкой как знак "ВСЕ"
Научился: Научился делать сложение через клиент. НО когда на сервере в терминале выставлять - или / или умножение, через клиент будет происходить "сложение"