首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在linux套接字编程中设置/获取套接字RTT?

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

Stack Overflow用户
提问于 2015-06-22 19:50:34
回答 2查看 2.6K关注 0票数 0

我需要在socket(AF_INETSOCK_RAWIPPROTO_TCP)中设置或获取RTT。

在套接字编程中,我需要做什么才能控制这样的RTT?换句话说,如何找到这样的RTT参数?

EN

回答 2

Stack Overflow用户

发布于 2018-01-22 02:53:02

在Linux上,可以通过使用TCP_INFO调用getsockopt()来获得RTT。

代码语言:javascript
代码运行次数:0
运行
复制
#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);
票数 2
EN

Stack Overflow用户

发布于 2015-06-22 20:37:40

要测量往返时间(RTT),请编写一个简单的客户端-服务器应用程序,其中有一个节点:

通过在(已打开的)套接字上使用clock_gettime()

  • Sends读取当前时间并使用clock_gettime()

将消息发送到另一个节点,

  • 使用read()

  • Reads当前时间等待消息返回

RTT是两个时间之间的差异。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30979301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档