Как создать Spring API, который получает HTTP и внутренне взаимодействует с другой конечной точкой, используя TCP / IP?

#java #spring #spring-boot #spring-mvc

#java #spring #spring-boot #spring-mvc

Вопрос:

Я пытаюсь создать приложение, которое следует следующей структуре: структура проекта

Я видел документацию по интеграции Spring, но, похоже, она не подходит для этой структуры проекта. Я что-то упускаю? Я не могу найти полезную информацию об этом. Спасибо за помощь!

Ответ №1:

TCP / IP — это протокол, подобный Http. Для меня вы можете использовать RestTemplate для связи между вашим API и вашим серверным.

Ответ №2:

TCP / IP, UDP находятся на транспортном уровне сетевой модели OSI, где HTTP находится на прикладном уровне. HTTP также полагается на TCP. Итак, когда вы используете HTTP, вы также используете TCP.

Вопрос, который вам нужно задать себе, заключается в том, какие данные вы передаете. TCP — это поток пакетов.

Если это один длинный текст, сделайте это с помощью одного соединения. Или данные в виде фрагментов? Затем вам нужно будет создать несколько подключений.

Глядя на изображение, которым вы поделились, вы также можете отправлять обычный текст по HTTP. Смотрите Типы Mime.

Комментарии:

1. Отлично! Но должен ли я использовать что-то вроде RestTemplate для обмена данными с использованием TCP / IP? Я беспокоюсь о создании сокета и о том, сколько времени это соединение будет работать.

2. Поскольку вы используете Spring, первым выбором было бы пойти с RestTemplate , и я бы также рекомендовал это. RestTemplate использует фабрику соединений, например. SimpleClientHttpRequestFactory . Вы также можете использовать что-то еще. Здесь вы можете настроить свойства подключения. По умолчанию RestTemplate создается новое соединение для каждого запроса, т.Е. Соединения не используются повторно.