Как сделать сервер сокетов, который прослушивает клиентские соединения и открывает сокет при вызове конечной точки в Spring? - PullRequest
0 голосов
/ 21 октября 2019

У меня есть приложение, которое открывает «HttpURLConnection» для принтера. Принтер ожидает подключения к сокету и устанавливает соединение при открытии нового подключения к сокету TCP на стороне приложения (в данном случае через новое «HttpURLConnection»). Теперь я хочу издеваться над этим принтером.

В Приложении Http-вызов выполняется на сервере печати, и между Приложением и сервером устанавливается сокетное соединение. Как мне смоделировать этот принтер как приложение с пружинной загрузкой.

1 Ответ

0 голосов
/ 21 октября 2019

Звучит так, будто вам нужно взглянуть на Spring Test Framework и особенно его часть о Web: https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/testing.html#spring-mvc-test-client

Я бы действительно изучил возможность взаимодействия через RestTemplate вместо прямого HttpURLConnection и затем используйте это MockRestServiceServer для насмешливых запросов и ответов.

Другой способ - использовать @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) и реализовать контроллер с соответствующими отображениями и возможными возвращаемыми результатами. Таким образом, вы сможете использовать упомянутый HttpURLConnection для подключения к случайно назначенному порту для HTTP-сервера и выполнения запросов, как в рабочей среде.

...