Мое приложение для Android отправляет / извлекает данные на / с собственного компьютера пользователя по HTTP, и оно отлично работает с несколькими бета-тестерами. Теперь мне нужно рассмотреть ситуацию, когда компьютер находится в спящем режиме.
Я никогда не делал этого раньше, но я погуглил, чтобы найти информацию о «волшебном пакете» WOL и некотором простом источнике, написанном на C (используя CAsyncSocket на стороне клиента). Выполнение этого по Wi-Fi-соединению в домашней сети пользователя, вероятно, будет относительно простым, но в идеале я хочу, чтобы это работало через мобильный интернет (при условии, что пользователь может настроить свой домашний маршрутизатор для приема / пересылки пакета).
Я предполагаю, что мне нужно использовать некоторый общий сетевой код Java, и я смотрю на java.net
.
На данный момент я не могу решить, использовать ли мне java.net.Socket
или java.net.DatagramSocket
. Итак, вопрос в том, правильно ли я подхожу к этому, и какой из двух типов сокетов мне следует использовать (или обоих будет достаточно)? Большое спасибо.