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

max аватар
121
Находится в разделах:

Создадим примитивнейший сервер, который будет запущен на локалхосте на порте 8888.

Также создадим простой клиент, который будет обращаться к нему.

Конец общения между клиентом и сервером - строка "BYE", получив которую, сервер обрывает соединение.

И так, приступим. Вот код сервера:

Вот код клиента:

Запустив сервер и клиент, можно увидеть, что после сообщения BYE сервер обрывает соединение. 

Клиент можно и не писать, а протестировать можно через telnet.  Под виндой запускаем телнет через windows+run -> telnet.

вводим localhost 8888 и попадаем в сессию. Тут можно вводить сообщения, которые будут тут же печататься сервером в консоль. 

Недостаток вышеприведенного примера в том, что сервер может принимать только одно соединение. 

Напишем новый сервер, который будет использовать потоки для приема множества соединений.

Для каждого соединения создается новый поток.

Если запустить два экземпляра телнета, можно увидеть, что сообщения от обоих выводятся в консоль.


Конец
Иммануил Кант более, чем уверен в том, что если дать человеку все, чего он желает, то в ту же минуту он почувствует, что это все не есть все.

Замечательные примеры, спасибо!

Единственное, хотелось бы видеть немного больше комментариев по коду.

Егор.

30 строку ServeOneThread заменить на:

 if (str.equals("BUY")) 

согласно выше описанному протоколу. Спасибо. Очень помогло.

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке