2016-05-13 2 views
1

Ich arbeite mit einer Android-Anwendung, in der ich die Datei von einem Gerät zu einem anderen über Wi-Fi freigeben möchte. Ich bekomme die Geschwindigkeit von etwa 1,5 Megabyte/s. Gibt es eine Möglichkeit, die Datei mit einer viel höheren Datenrate zu übertragen? Können Sie bitte sagen, warum wir diese weniger Datenrate bekommen, auch die Geräte und Router können mehr als 150Mbps (18,75MBps) Datenrate verarbeiten ... Ist es möglich, UFTP zu verwenden und wird es den Zweck lösen ??schnellere wifi Dateiübertragung zwischen Android-Geräten?

hier ist der Code:

byte[] buf = new byte[2048]; 
try { 
    int bytesRead = 0; 
    while ((bytesRead = dis.read(buf, 0, buf.length)) != -1) { 
     fLength = fLength - bytesRead; 
     dos.write(buf, 0, bytesRead); 
     Log.i("File Tranfer Thread", String.valueOf(fLength) + Thread.currentThread().getName()); 
     } 
    } 
} 

Dank

+0

welche Art von Protokoll verwenden Sie Dateien transfert? Verwenden Sie eine App oder erstellen Sie eine App? – jeorfevre

+0

Ich verwende eigenen geschriebenen Code, der tcp für die Übertragung von Datei über WLAN ist ... byte [] buf = neues Byte [2048]; versuchen { Int BytesRead = 0; while ((bytesRead = dis.read (buf, 0, buf.length))! = -1) { fLength = fLength - bytesRead; dos.write (buf, 0, bytesRead); Log.i ("Dateiübertragungs-Thread", String.valueOf (fLength) + Thread.currentThread(). GetName()); } –

Antwort

0

Ihr Code ist schnell.

Dort eine Sache, die Sie versuchen können, dass die Kosten wert ist, mit Paketgröße zu spielen. Versuchen Sie, die Packungsgröße zu ändern, um die schnellere Lösung zu sehen. Manchmal ist ein größeres Paket schneller zu senden.

  1. Paketgröße größer byte[] buf = new byte[2048*10];
  2. Paketgröße kleiner byte[] buf = new byte[512];
  3. Paketgröße 3 byte[] buf = new byte[2048*5];
+0

Ich versuchte mit so vielen Paketgröße aber hatte nicht mehr als 16Mbps avg Datenrate –

+0

das ist eine gute Geschwindigkeit für Android-Geräte, glaube nicht, dass Sie besser von einem Gerät zum anderen erreichen – jeorfevre