更快的Android设备之间的WiFi文件传输?
问题描述:
我正在使用一个Android应用程序,我希望通过Wi-Fi将文件从一台设备共享到另一台设备。我正在获得大约1.5兆字节/秒的速度。我可以通过更高的数据传输速度来传输文件吗? 你能告诉我们为什么我们得到的数据速率更低,即使设备和路由器能够处理超过150Mbps(18.75MBps)的数据速率... 是否有可能使用UFTP并且它会解决目的?更快的Android设备之间的WiFi文件传输?
这里是代码:
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());
}
}
}
感谢
答
你的代码是快。
有一件事你可以尝试,值得花费与包大小玩。尝试修改包大小以便查看更快的解决方案。有时候更大的数据包发送速度更快。
- 包大小更大
byte[] buf = new byte[2048*10];
- 包大小小
byte[] buf = new byte[512];
- 包大小3
byte[] buf = new byte[2048*5];
+0
我尝试过这么多的数据包大小,但没有得到超过16Mbps的平均数据速率 –
+0
这是一个很好的Android设备速度,不要以为你会从一个设备到另一个设备达到更好的速度 – jeorfevre
你用什么样的协议,以transfert文件?您是在使用应用程序还是在构建应用程序? – jeorfevre
我正在使用自己的书面代码,即通过WiFi传输文件的tcp ... byte [] buf = new byte [2048]; try { int bytesRead = 0; ((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()); } –