我正在尝试使用开源ftp4j库为android开发一个简单的ftp客户端。我想知道是否有任何方法可以更改/增加数据传输的tcp窗口大小。 我已经尝试更改数据套接字上的接收缓冲区大小,但是当我检查Wireshark日志时,窗口大小根本没有变化,它保持在195232左右。
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;
}
由于
答案 0 :(得分:0)
你做到了。设置接收缓冲区大小决定了最大接收窗口。但该平台可以自由调整上下要求的大小。在设置它之后检查它以查看内核给你的值。
195232是一个相当不错的尺寸。使其大于带宽延迟产品没有任何优势。