linux - 如何在 linux 套接字编程中设置/获取套接字 RTT?

标签 linux sockets tcp

我需要在 socket(AF_INET, SOCK_RAW, IPPROTO_TCP) 方式中设置或获取 RTT。

在socket编程中要控制这样的RTT,接下来需要做什么?也就是说,如何找到这样的RTT参数?

最佳答案

在 Linux 上,您可以通过使用 TCP_INFO 调用 getsockopt() 来获取 RTT:

#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>

/* ... */

tcp_info info;
socklen_t tcp_info_length = sizeof info;
ret = getsockopt(sock, SOL_TCP, TCP_INFO, &info, &tcp_info_length);
printf("rtt: %u microseconds\n", info.tcpi_rtt);

关于linux - 如何在 linux 套接字编程中设置/获取套接字 RTT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30979301/

相关文章:

macos - 谁在 Mac OS X 上监听给定的 TCP 端口?

c++ - 在Qt中搜索文件扩展名为zimage的文件

linux - 将 wpa_supplicant 链接到非默认 openssl 版本

java - 关闭旧的套接字后创建新的套接字导致连接被拒绝

networking - Netmap/PF_RING 和 TCP 分段卸载和大型接收卸载

C# Socket.receive 连续接收0字节,循环不阻塞

linux - 知道目录是否为空的权限

linux - 使用 ldd -u,输出是 "Unused direct dependencies:/lib64/libc.so.6",但我真的使用 printf()

python - 使用套接字时的 Flask Debug模式

C# 和 C++ 套接字数据加密