【问题标题】:How to make a socket server that listens for client connections and opens a socket once an Endpoint is called in Spring?一旦在 Spring 中调用 Endpoint,如何创建一个侦听客户端连接并打开套接字的套接字服务器?
【发布时间】:2019-10-21 04:25:54
【问题描述】:

我有一个向打印机打开“HttpURLConnection”的应用程序。打印机正在侦听套接字连接,并在应用程序端打开新的 TCP 套接字连接时建立连接(在这种情况下,通过新的“HttpURLConnection”)。现在,我想模拟这台打印机。

在应用程序中,对打印机服务器进行 Http 调用,并在应用程序和服务器之间建立套接字连接。如何将此打印机模拟为 Spring Boot 应用程序。

【问题讨论】:

    标签: spring spring-boot tcp spring-integration serversocket


    【解决方案1】:

    听起来你需要看看 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 服务器随机分配的端口,并像在生产环境中一样执行请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      相关资源
      最近更新 更多