问题描述
我有一个 Spring Boot 应用程序向客户端(SockJS、Angular)发送定期更新以显示内容。但是,有些数据包是Spring Boot根据日志发送的,但浏览器端从未收到。丢包发生在与服务器的直接连接上,因此网络上到客户端的数据包丢失很可能不是根本原因。
应用程序在代理(lighthttpd)后面,我目前不知道数据包是在代理之前还是在代理中丢弃。我怀疑代理有问题,但我没有真正的确认。
我们依赖于服务器系统设计,所以到目前为止我的选择:
我目前正在挖掘选项 3,但我对 Spring Boot 的了解很少。 当前代码使用 SimpMessagingTemplate.convertAndSend(destination,payload) 将序列化数据发送到客户端。 我首先在寻找一种方法来从客户端确认收到数据包,如果一段时间后没有收到 ACK,则再次发送。 这种特性在 Spring Boot 中开箱即用吗? 你能想到其他解决方法吗?
一些精度:
- 1 个客户端/服务器,始终。客户端是一个简单的接口,用于与通过 USB(USB 上的以太网)连接的设备进行交互
- 目前该设备使用 Java 7 作为后端和 Spring Boot 1.3.0,应该很快更新到 Java 8。我不知道 Spring Boot 的更新是否可以解决这个问题。
谢谢:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)