将数据发送到服务器UDP

时间:2016-04-13 12:57:44

标签: java android networking udp

我正在为Android制作应用程序。它必须逐字节地向服务器发送数据(不要告诉我发送大块数据,因为它在我的情况下不会有用),它位于同一网络上。问题是它必须非常快。

大部分时间它工作得很好,但偶尔会出现延迟,这意味着它会停止发送一两秒钟,然后一切都会同时发送到服务器。

我认为发生这种情况是因为其他后台应用程序也在尝试发送一些数据,然后我必须排队等待发送的所有内容。

如果这不是偶然延迟的原因,请告诉我是否有办法为我的应用设置最高优先级,或者我是否可以暂时禁用后台应用程序使用网络。 我已经尝试通过调用ContentResolver.setMasterSyncAutomatically(false)来禁用同步,但它没有修复任何内容。

如果情况并非如此,请告诉我如何解决这个问题。

如果有帮助,我正在使用DatagramSocket发送数据。

更新:

自从我问这个问题以来已经很长时间了。因此,似乎解决这个问题的唯一方法是使用TCP而不是UDP,我使用Socket类并在其上使用setTcpNoDelay(true)。它起初似乎起作用,但当我做更多测试时,我发现滞后仍然存在。

因此,滞后减少但仍然发生。有没有人现在有任何想法用TCP解决这个问题?

0 个答案:

没有答案