2012-07-30 14 views
9

¿Es posible permitir que un dispositivo Android (> 4.0) establezca una conexión WiFi-Direct con un sistema operativo Mac o Windows?WiFi-Comunicación directa entre Mac/Windows y Android

+0

posible duplicado de [Transmitir mensaje de PC de escritorio a dispositivo Android usando conectividad WIFI] (http://stackoverflow.com/questions/6757665/broadcast-message-from-desktop-pc-to-android-device-using- wifi-conectividad) – slayton

+0

no es WiFi Direct, pero es perfecto para compartir contenido de Android con él: [Compartir a través de HTTP | F-Droid - Repositorio de aplicaciones de Android gratuito y de código abierto] (https://f-droid.org/en/packages/com.MarcosDiez.shareviahttp/) – eapo

Respuesta

5

Según la Wifi-Direct Docs El protocolo permite:

Android 4.0 (API nivel 14) o dispositivos posteriores con el hardware adecuado para conectarse directamente entre sí a través de Wi-Fi

Doesn Parece que Google proporciona esta funcionalidad a través de la API. Aunque WiFi-Direct no es un protocolo propietario y podría implementarse para cualquier plataforma. Hay unos pocos puestos en la web de las personas que intentan conseguir Wifi-directo para funcionar bajo Windows:

-6

Todo lo que necesita es para usar java.net.Socket Depende de a qué te refieres con establecer conexión directa. La conexión TCP se establece cuando en el dispositivo de destino (Windows o Mac) abre el socket de escucha por ServerSocket. En otro dispositivo, puede usar Socket con la dirección de destino. Por supuesto, Windows o Mac Box probablemente tendrán que abrir ese puerto en el firewall.

Supongo que lo que realmente necesita saber es cómo obtener el nombre de la computadora de destino o cómo descubrir las computadoras en la red local. Lamentablemente, no depende de la versión de Android, creo. Debe consultar http://en.wikipedia.org/wiki/Zero_configuration_networking para obtener algunas sugerencias. Me temo que podría haber un problema en la necesidad de abrir el puerto privilegiado en Android, ya que normalmente tienes que ser root para eso. Y eso requeriría Root Android.

Por supuesto, debe especificar qué pretende con esa conexión directa y qué software necesita. Si ambos extremos tienen su aplicación, puede abrir cualquier puerto no asignado y sin privilegios en Android. Use UDP para transmitir periódicamente el nombre del dispositivo Android (de manera propagable pida al usuario que ingrese el nombre de su dispositivo). Use la multidifusión para enviar solicitudes y reciba respuestas de la misma manera. El envío y la recepción de multidifusión requerirán su aplicación en android y en Windows y en Mac también. Ahora puede leer desde la aplicación multicast qué tipo de máquina es y qué puerto local dejó abierto para su conexión directa. Desde el origen del mensaje udp, sabes dónde conectarte.

Puede utilizar un poco de marco para acelerar las cosas. Todo esto requiere un poco de conocimiento sobre la creación de redes, pero no conozco una solución más simple y que funcione bien. A menos que proporcione detalles sobre para qué sirve su conexión directa.

+0

El conector debe establecerse únicamente con una conexión Wi-Fi existente . Y esto es lo que estoy pidiendo, no la conexión del socket. –

+0

El OP no pregunta cómo configurar una conexión de tipo TCP en una red ya establecida. Más bien, el OP quiere saber cómo usar el protocolo WiFi-Direct para establecer una nueva conexión de red entre una computadora y un dispositivo Android. – slayton

Cuestiones relacionadas