当 phone 的屏幕被屏蔽 Android 时,没有 sending/receiving udp 数据包
Not sending/receiving udp packets when the phone's screen is blocked Android
我在 Android 中发送和接收 UDP 数据包时遇到问题。
我必须定期发送它们,当两个 telephone 都打开屏幕时,一切都会正常进行。
当我关闭屏幕时,发送消息的phone停止发送消息,然后,当我再次触摸屏幕时,它又开始发送消息,但是如果phone那个正在接收是在屏幕关闭时它没有接收到任何东西。
假设有两个 phones A 正在接收,B 正在发送:
1 - 他们都打开了屏幕。
2 - 我关闭 B 的屏幕 --> B 不发送消息
3 - 我打开 B 的屏幕 --> B 又开始发送消息
4 - 我关闭了 A 的屏幕 --> B 正在发送,但 A 没有收到任何东西
5 - 我打开 A 的屏幕 --> 一切正常。
有谁知道 Android 中的 UDP send/reception 是否有问题? (例如,在 iOS 中,当屏幕关闭时,UDP 接收被阻止)。我读到 UDP 广播数据包的接收有问题,但在这种情况下没有广播,它们被发送到特定的 IP 和端口。
提前致谢!
编辑:
再问一个问题,我们在使用移动网络的时候有没有什么额外的考虑?使用唤醒锁,当我使用 wifi 时一切正常,但是当我使用 3g 时我无法接收任何东西(但另一个 phone 正在使用 3g 发送)。移动网络接收UDP包有限制吗?或者它应该也能正常工作?
在 android 中,如果您关闭屏幕,处理器将进入休眠状态。在此状态下,只有必要的功能(phone 通话、短信等)起作用。
但是你可以使用唤醒锁,这样你可以防止你的 phone 进入睡眠状态,你的代码将被执行。
我在 Android 中发送和接收 UDP 数据包时遇到问题。 我必须定期发送它们,当两个 telephone 都打开屏幕时,一切都会正常进行。
当我关闭屏幕时,发送消息的phone停止发送消息,然后,当我再次触摸屏幕时,它又开始发送消息,但是如果phone那个正在接收是在屏幕关闭时它没有接收到任何东西。
假设有两个 phones A 正在接收,B 正在发送:
1 - 他们都打开了屏幕。
2 - 我关闭 B 的屏幕 --> B 不发送消息
3 - 我打开 B 的屏幕 --> B 又开始发送消息
4 - 我关闭了 A 的屏幕 --> B 正在发送,但 A 没有收到任何东西
5 - 我打开 A 的屏幕 --> 一切正常。
有谁知道 Android 中的 UDP send/reception 是否有问题? (例如,在 iOS 中,当屏幕关闭时,UDP 接收被阻止)。我读到 UDP 广播数据包的接收有问题,但在这种情况下没有广播,它们被发送到特定的 IP 和端口。
提前致谢!
编辑:
再问一个问题,我们在使用移动网络的时候有没有什么额外的考虑?使用唤醒锁,当我使用 wifi 时一切正常,但是当我使用 3g 时我无法接收任何东西(但另一个 phone 正在使用 3g 发送)。移动网络接收UDP包有限制吗?或者它应该也能正常工作?
在 android 中,如果您关闭屏幕,处理器将进入休眠状态。在此状态下,只有必要的功能(phone 通话、短信等)起作用。 但是你可以使用唤醒锁,这样你可以防止你的 phone 进入睡眠状态,你的代码将被执行。