有没有人成功地在Android上使用了TCP Fast Open选项?
我在Android NDK C程序中使用了以下代码:
sfd = socket(AF_INET, SOCK_STREAM, 0); sendto(sfd, data, data_len, MSG_FASTOPEN, (struct sockaddr *) &server_addr, addr_len);
如http://lwn.net/Articles/508865/所建议的
它在Linux和Android上都编译得很好。
它在Linux上运行得很完美,但在Android上,当它调用sendto()时,程序就会退出。
我在Android 4.*和5.1 (设备)上尝试了它,甚至在Android 6(目前只有模拟器)上也是如此。
另外,我注意到在Android4上。*在/proc/sys/net/ipv4/上没有tcp_fastopen文件,在Android5.1上,这个文件是存在的,但它包含0。
发布于 2016-08-09 06:17:54
TCP fast open需要Linux内核3.7+。首先检查内核版本。
下面是AOSP中内核版本的a sheet。请注意,它可能表示设备上的真实内核版本。
如果支持,则需要使用echo 3 > /proc/sys/net/ipv4/tcp_fastopen启用。它需要root权限。
https://stackoverflow.com/questions/34294307
复制相似问题