用SO_TIMESTAMP/SO_TIMESTAMPNS 可以获取硬件时间, 前提是内核和网卡支持该功能能
https://www.kernel.org/doc/Documentation/networking/timestamping.txt
一般来说,对UDP更有意义,因为UDP是packet, 每个packet有一个时间戳。但是对于TCP,就不太准确了,因为TCP的数据,有拆包、合并、重传,可能一段数据中所有Byte的收到的时间不相同。
或者直接重载recvmsg函数获取
https://blog.csdn.net/photon222/article/details/104841343