即时间A =电压命中NIC; 时间B =来自Java的select器NIO包能够为I / Oselect套接字通道。
移植从Unix到linux的ioctl()调用,错误与FIONBIO
EAGAIN是否会返回缓冲区已满以外的任何内容?
为什么套接字连接()到它自己的临时端口?
Linux x86_64汇编套接字编程
我在哪里可以看到像Linux的写/读系统API的源代码?
使用SO_TIMESTAMP并找到一个实际上支持时间戳的网卡和一个支持时间戳的网卡,其分辨率高于毫秒。 那么你应该有一个机会,如果你能让Java读取传入的cmsg辅助数据。
没有良好的硬件支持,数据包将被内核标记,最有可能的是一个低分辨率的不稳定定时器。
(编辑#1)在C需要2.6.30或更新的内核的代码示例我认为:
http://www.mjmwired.net/kernel/Documentation/networking/timestamping/timestamping.c
http://vilimpoc.org/research/ku-latency/
(编辑#3)我建议遵循依赖于高分辨率定时器和数据包延迟测试的J-OWAMP项目。 OWAMP团队一直在推动Linux内核团队,以获得更好的SO_TIMESTAMP支持。
http://www.av.it.pt/jowamp/
你需要使用类似于tcpdump的东西,然后关联应用程序日志和“嗅探器”日志之间的时间戳来确定这一点,单靠jvm是不可能的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。