Java. Создание простого клиент-сервера на основе сокетов

Создадим примитивнейший сервер, который будет запущен на локалхосте на порте 8888.
Также создадим простой клиент, который будет обращаться к нему.
Конец общения между клиентом и сервером - строка "BYE", получив которую, сервер обрывает соединение.
И так, приступим. Вот код сервера:
Вот код клиента:
Запустив сервер и клиент, можно увидеть, что после сообщения BYE сервер обрывает соединение.
Клиент можно и не писать, а протестировать можно через telnet. Под виндой запускаем телнет через windows+run -> telnet.
вводим localhost 8888 и попадаем в сессию. Тут можно вводить сообщения, которые будут тут же печататься сервером в консоль.
Недостаток вышеприведенного примера в том, что сервер может принимать только одно соединение.
Напишем новый сервер, который будет использовать потоки для приема множества соединений.
Для каждого соединения создается новый поток.
Если запустить два экземпляра телнета, можно увидеть, что сообщения от обоих выводятся в консоль.
Материалы, которые могут вас заинтересовать
- Java Советы
- Почему локальные вложенные классы имеют доступ только к final переменным?
- Вопрос: Восходящее преобразование и generic
- Играем в компилятор.
- Аргументы методов в Java : pass-by-value or pass-by-reference
- Все о String.intern()
- Если бы водителей принимали на работу так же, как и программистов
- Менопауза на клауде
- Java. Как создать объект обобщенного типа? How is a generic type instantiated?







Замечательные примеры, спасибо!
Единственное, хотелось бы видеть немного больше комментариев по коду.
Егор.
30 строку ServeOneThread заменить на:
if(str.equals("BUY"))согласно выше описанному протоколу. Спасибо. Очень помогло.
Отправить комментарий