当Android手机的屏幕被阻止时,不发送/接收udp数据包

时间:2015-06-15 16:44:15

标签: android udp

我在Android中发送和接收UDP数据包时遇到问题。 我要定期发送它们,当两部电话都打开屏幕时,一切都很顺利。

当我关闭屏幕时,发送信息的手机会停止发送信息,然后,当我再次触摸屏幕时,它会再次开始发送信息,但是如果正在接收的手机关闭屏幕则不会收到任何东西。

假设两个手机A正在接收而B正在发送:

1 - 他们两个都有屏幕。

2 - 我关掉了B的屏幕 - > B不发送消息

3 - 我打开B的屏幕 - > B开始再次发送消息

4 - 我关闭了A的屏幕 - > B正在发送,但A没有收到任何内容

5 - 我打开A的屏幕 - >一切正常。

有人知道Android中的UDP发送/接收是否存在某种问题? (例如在iOS中,当屏幕关闭时,UDP上的接收被阻止)。我已经读过UDP广播包的接收有问题,但是在这种情况下没有广播,它们被发送到特定的IP和端口。

提前致谢!

编辑:

另一个问题,当我们使用移动网络时,是否有任何附加考虑因素?随着唤醒锁,当我使用wifi时一切正常,但是当我使用3g时,我无法接收任何东西(但另一部手机正在发送3g)。在移动网络中接收UDP数据包有限制吗?或者它也可以正常工作?

1 个答案:

答案 0 :(得分:0)

在android中,如果关闭屏幕,处理器会进入睡眠状态。在这种状态下只有必要的功能(电话,短信等)工作。 您可以使用唤醒锁,这样可以防止手机进入睡眠状态,并且您的代码将被执行。