Szukałem w Google. Próbowałem dużo. W Androidzie 2.2 i sdk 8 w jaki sposób mogę używać SSID na liście w systemie Android? Korzystając z identyfikatora SSID Powinno się uzyskać konkretne właściwości urządzenia z włączoną obsługą wifi, programowo. Dzięki tej pomocy, należy przesłać dane między dwoma urządzeniami obsługującymi Wi-Fi w systemie Android. Czy ktoś może mi pomóc w tym plz?Transfer danych między dwoma urządzeniami WiFi
6
A
Odpowiedz
17
Aby wysłać dane w znaczący sposób między dwoma urządzeniami z Androidem, należy użyć połączenia TCP. Aby to zrobić, potrzebujesz adresu ip i portu, na którym słuchasz drugiego urządzenia.
Przykłady pochodzą z here.
Dla (strony słuchania) po stronie serwera trzeba gniazdo serwera:
try {
Boolean end = false;
ServerSocket ss = new ServerSocket(12345);
while(!end){
//Server is waiting for client here, if needed
Socket s = ss.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter output = new PrintWriter(s.getOutputStream(),true); //Autoflush
String st = input.readLine();
Log.d("Tcp Example", "From client: "+st);
output.println("Good bye and thanks for all the fish :)");
s.close();
if (STOPPING conditions){ end = true; }
}
ss.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
po stronie klienta trzeba gniazdo, który łączy się z gniazdem serwera. Proszę zastąpić "localhost" z zdalnych urządzeń Android adres IP lub nazwę hosta:
try {
Socket s = new Socket("localhost",12345);
//outgoing stream redirect to socket
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("Hello Android!");
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
//read line(s)
String st = input.readLine();
//. . .
//Close connection
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2
For data Transfer between 2 devices over the wifi can be done by using "TCP" protocol. Connection between Client and Server requires 3 things
1) Using NSD Manager, Client device should get server/host IP Address.
2) Send data to server using Socket.
3) Client should send its IP Address to server/host for bi-directional communication.
Dla kodu verfication zobaczyć ten link
For faster transmission of data over wifi can be done by using "WifiDirect"
which is a "p2p" connection. so that this will transfer the data from
one to other device without an Intermediate(Socket). For Example catch
ten link w deweloperów google wifip2p i P2P Connection with Wi-Fi
Złap próbkę w Github WifiDirectFileTransfer
Powiązane problemy
- 1. Telnet File Transfer między dwoma linux maszyn
- 2. Komunikacja między dwoma urządzeniami z systemem iOS
- 3. Jak przesłać "dane" między dwoma urządzeniami (Android, iPhone)?
- 4. przekazać ciąg między dwoma Wi-Fi bezpośrednio podłączony użytkownik w Android przy użyciu wifi direct?
- 5. Nie można wysłać danych tekstowych między dwoma urządzeniami bluetooth w systemie Android?
- 6. AngularJS i Codeigniter - Kombinacja i transfer danych
- 7. Udostępnianie danych między dwoma Redux Reduktorami/państwami
- 8. Kopiowanie danych między dwoma instancjami serwerów
- 9. Przenieść plik między urządzeniami z systemem Android?
- 10. Jak synchronizować dane między różnymi urządzeniami
- 11. OSError: [Errno 18] Nieprawidłowe łącze między urządzeniami
- 12. Android orientacji ekranu różni się między urządzeniami
- 13. Synchronizacja czasu JS między wieloma urządzeniami
- 14. Symulator iOS 7 kontra różnice między urządzeniami?
- 15. Komunikacja między dwoma wątkami
- 16. Korelacja między dwoma wektorami?
- 17. Połączenie między dwoma użytkownikami
- 18. Komunikacja między dwoma skrypty python
- 19. Wi-Fi Direct (Android 4.0) z wieloma (3+) urządzeniami
- 20. udostępnianie tabeli bazy danych między dwoma projektami django
- 21. Identyfikacja konkretnych różnic między dwoma zestawami danych w R
- 22. Wysyłanie dużych ilości danych między dwoma programami C#
- 23. Python: wysyłanie danych między dwoma komputerami za pośrednictwem gniazd
- 24. Najlepszy sposób synchronizowania danych z pamięci podręcznej między dwoma serwerami
- 25. Synchronizacja bazy danych MySQL między dwoma serwerami przy użyciu PHP
- 26. PHP SOAP Transfer plików
- 27. komunikacja między dwoma elastycznymi aplikacjami
- 28. Android - odległość między dwoma miastami
- 29. Usuń wszystko między dwoma znakami
- 30. Bash - różnica między dwoma listami