WiFi-Direkte Kommunikation zwischen Mac / Windows und Android

9

Ist es möglich, ein Android (& gt; 4.0) -Gerät eine WiFi-Direct-Verbindung mit einem Mac OS- oder Windows-Gerät herstellen zu lassen?

    
Elias Atahi 30.07.2012, 13:48
quelle

2 Antworten

5

Laut dem Wifi-Direct-Dokument erlaubt das Protokoll:

  

Android 4.0 (API 14) oder neuere Geräte mit der entsprechenden Hardware für die direkte Verbindung über Wi-Fi

Es sieht nicht so aus, als ob Google diese Funktionalität über die API bereitstellt. Obwohl WiFi-Direct kein proprietäres Protokoll ist, könnte es für jede Plattform implementiert werden. Es gibt ein paar Posts rund um das Netz von Leuten, die versuchen, Wifi-Direct unter Windows zu arbeiten:

slayton 30.07.2012 14:07
quelle
-6

Alles, was Sie brauchen, ist java.net.Socket. Hängt davon ab, was du meinst, indem du direkte Verbindung herstellst. Die TCP-Verbindung wird hergestellt, wenn Sie auf dem Zielgerät (Windows oder Mac) den Listening-Socket von ServerSocket öffnen. Auf einem anderen Gerät können Sie Socket mit Zieladresse verwenden. Natürlich muss Windows oder Mac Box diesen Port in der Firewall öffnen.

Ich denke, was Sie wirklich wissen müssen, ist, wie Sie den Namen des Zielcomputers erhalten oder wie Sie Computer im lokalen Netzwerk erkennen können. Leider hängt es nicht von Android-Version, denke ich. Sie sollten Ссылка nach einigen Hinweisen suchen. Ich befürchte, es könnte ein Problem in der Notwendigkeit sein, privilegierten Port auf Android zu öffnen, da normalerweise root dafür sein muss. Und das würde Rooted Android benötigen.

Natürlich sollten Sie angeben, was Sie mit dieser direkten Verbindung beabsichtigen und welche Software Sie benötigen. Wenn beide Enden Ihre Anwendung haben, können Sie einfach alle nicht zugewiesenen und nicht privilegierten Port auf Android öffnen. Verwenden Sie UDP, um den Namen des Android-Geräts in regelmäßigen Abständen zu übertragen (möglicherweise wird der Benutzer aufgefordert, den Namen seines Geräts einzugeben). Verwenden Sie Multicast, um Anfragen zu senden und Antworten auf die gleiche Weise zu erhalten. Multicast senden und empfangen würde Ihre Anwendung auf Android und auf Windows und Mac auch benötigen. Jetzt können Sie von der Multicast-Anwendung lesen, um welchen Maschinentyp es sich handelt und welchen lokalen Port es für Ihre direkte Verbindung offen gelassen hat. Von der Quelle der UDP-Nachricht wissen Sie, wo Sie sich verbinden müssen.

Sie können einen Rahmen verwenden, um die Dinge zu beschleunigen. All dies erfordert ein gewisses Wissen über Netzwerke, aber ich kenne keine einfachere und funktionierende Lösung. Es sei denn, Sie geben Details darüber an, was Ihre direkte Verbindung zu tun hat.

    
Pihhan 30.07.2012 14:14
quelle