Mi aplicación Android envía/recupera datos a/desde la PC del usuario usando HTTP y funciona bien con un puñado de probadores beta. Ahora necesito considerar una situación donde la PC está hibernando.Envío del paquete Wake on LAN de Android a PC
Nunca he hecho esto antes, pero he buscado en Google para encontrar información sobre el 'paquete mágico' de WOL y alguna fuente simple escrita en C (usando CAsyncSocket en el extremo del cliente). Hacer esto a través de una conexión wi-fi en la red doméstica del usuario es relativamente sencillo, pero idealmente quiero que funcione en Internet móvil (suponiendo que el usuario pueda configurar su enrutador doméstico para aceptar/reenviar el paquete).
Supongo que necesito usar un código genérico de red Java y he estado buscando en java.net
.
En este momento no puedo decidir si debo usar java.net.Socket
o java.net.DatagramSocket
. Entonces, la pregunta es: ¿me estoy acercando a esto de la manera correcta y cuál de los dos tipos de socket debería usar (o ambos serían suficientes)? Muchas gracias.
por lo que recuerdo, puede ser cualquier cosa: UDP, ICMP, TCP, siempre y cuando la magia esté en el paquete, pero el datagrama debería ser más fácil de programar. la parte difícil será encontrar la manera de hacerlo funcionar a través de wifi; sin embargo, es bastante confiable en redes cableadas. –
He usado varias aplicaciones en la tienda del mercado para activar mi computadora utilizando WOL a través de wifi cuando estoy conectado a la red de mi casa. No tuve mucha suerte de hacerlo en la red ya que no pude configurar mi enrutador correctamente ya que no reenvió el paquete a la computadora detrás de Nat. – Bear