Какой современный язык не может работать с сетью? Спросите вы, а может быть и не спросите, да и какая разница если из заголовка понятно что мы собираемся говорить о Java =) Попробуем разобрать некоторые классы пакета java.net и посмотреть что они могут. Разберем классы ServerSocket и Socket. Для этого напишем два мини приложения. Первое это Сервер который принимает сообщение "!ping" и отправляет ответ "!pong". Второе это клиент который отправляет непосредственно нужное сообщение. Сервер: Клиент: Запустим сначала сервер, точка входа метод main(String[] args) класса PongServer. После запуска в linux можно воспользоваться утилитой lsof, что бы посмотреть открытые сокеты и убедиться что наш сервер открыт для соединения и слушает порт 9090:
sudo lsof -nP -i | grep LISTEN Как видно порт 9090 открыт и сервер готов к приему сообщения: Для проверки Клиента напишем класс Connection: Запустим Connection. Как видим сервер ответил и тут же завершил работу: Как мы убедились совсем не сложно соз