我正在开发一款Android应用程序,通过WLAN连接与TCP Java服务器通信。这个Android应用程序是一个带有精灵的游戏,精灵在屏幕上移动。每当一个精灵移动时,Android客户端会将其坐标发送到Java服务器,然后服务器将数据发送给其他客户端(最多4个客户端)。服务器在单独的线程上处理每个客户端,数据更新大约每20毫秒发送一次,每个数据包由1-10字节组成。我在70 Mbit网络上(无线网络实际效果约为15 Mbit)。
我遇到了不稳定的连接问题,并且在每10-30个数据包中经历了50-500毫秒的延迟。我已经将tcpNoDelay设置为true,这停止了持续200毫秒的延迟,但仍然存在很多卡顿。由于我对Android和网络都比较新,我不知道这是否是可以预期的。我也想知道UDP是否适合我的程序,因为我希望快速发送更新,而不是每个数据包都正确到达。
我希望得到任何关于如何避免/解决这个延迟问题的指导。对于如何实现这样的客户端-服务器架构的一般提示也将受到赞赏。
我遇到了不稳定的连接问题,并且在每10-30个数据包中经历了50-500毫秒的延迟。我已经将tcpNoDelay设置为true,这停止了持续200毫秒的延迟,但仍然存在很多卡顿。由于我对Android和网络都比较新,我不知道这是否是可以预期的。我也想知道UDP是否适合我的程序,因为我希望快速发送更新,而不是每个数据包都正确到达。
我希望得到任何关于如何避免/解决这个延迟问题的指导。对于如何实现这样的客户端-服务器架构的一般提示也将受到赞赏。