如何在android中为FTP增加TCP窗口大小?

时间:2013-05-02 21:37:00

标签: android tcp buffer throughput ftp4j

我正在尝试使用开源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;
}

由于

1 个答案:

答案 0 :(得分:0)

你做到了。设置接收缓冲区大小决定了最大接收窗口。但该平台可以自由调整上下要求的大小。在设置它之后检查它以查看内核给你的值。

195232是一个相当不错的尺寸。使其大于带宽延迟产品没有任何优势。