使用的技术:
在下面的问题中,“前端是指Android”和“后端是指Node.js”。
约束:
- 我们在发展中的市场中有农村用户,因此互联网速度可能很慢和/或抖动/不稳定。由于抖动,我们需要一种解决方案,在该解决方案中,我们可以使用传输的任何(如果不是全部)数据。
- 我们拥有相当大的数据(庞大的对象列表),我们无法简单地通过这些数据进行传输JSON(通过普通的REST API),直到下载完所有数据为止,我们什么也没得到(因为我们正在使用Retrofit并且其onResponse为未调用)。
目标:
- 将对象列表(在后端)转换为二进制数据。以便当我们在前端接收数据时,我们可以访问序列化数据而无需拆包。通过FlatBuffers实现。
- 当从前端。我想流式传输想要使用的数据(在实时)用户收到的任何数据(对象列表)(即使用户在传输过程中断开连接)。 我遇到问题在这里,因为我无法通过REST API实现此目标-改装组合。在此处需要有关基于触发器的内容的帮助流式传输。
- 将前端中的对象列表转换为Java对象,然后显示在用户界面中。我在这里使用FlatBuffer,因为它速度快且能够使用/序列化传输的任何对象。不需要整个数据传输完成。
我能够成功实现目标的第1步和第3步。但是,我无法整理步骤2。
请提出一种实现此目标的简便方法(从后端流到前端的二进制数据流)。如果我们可以在前端使用Retrofit(如果可能)来触发和流式传输,那就更好了。