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