0
我想開發一個簡單的ftp客戶端使用開源的ftp4j庫爲Android。我想知道是否有任何方法可以更改/增加數據傳輸的TCP窗口大小。 我試圖改變數據套接字接收緩衝區大小,但是當我檢查了Wireshark的登錄窗口的大小並沒有改變,在所有的,它總是在那裏195232.如何在android for FTP中增加TCP窗口大小?
protected Socket tcpConnectForDataTransferChannel(String host, int port) throws IOException {
Socket socket = new Socket();
int size = (1024*1024);
socket.setSoTimeout(readTimeout * 1000);
socket.setSoLinger(true, closeTimeout);
socket.setReceiveBufferSize(size);
socket.setSendBufferSize(size);
socket.connect(new InetSocketAddress(host, port), connectionTimeout * 1000);
Log.d(TAG,String.valueOf(socket.getReceiveBufferSize()));
return socket;
}
感謝
設置值後,它給了我1048576,並且wireshark日誌中的窗口大小仍然是195232。但是,當我使用第三方應用程序(和FTP)以相同的網絡條件下載相同的文件時,窗口大小增加到大約1060833.我無法理解它是如何爲其他應用程序增加的,對於我的應用程序,無論我設置它的值如何,都只停留在195232 – user1720839 2013-05-05 02:36:04