是否的recv()调用拦截数据包或者我可以得到时间戳数据包?接收TCP客户机上的数据包数据
0
A
回答
1
的Recv从已成功接收插座获取数据。它没有告诉你什么时候发生了;即没有时间戳。
你阐述你想解决什么问题(“你为什么需要这个?”),而不是你尝试的解决方案? (或者我完全误解了你的问题?)
2
在数据报套接字(如UDP)上,recv
获取数据报中的数据。然而,TCP是一个流模式套接字,并且recv
获取字节集合而不考虑数据包。
使用低级别的API可以获取数据包,但如果您希望看到send
调用之间的界限,那么您运气不佳...信息不在数据包中。
0
如果自己的代码,将数据发送到远程机器你在哪里接收数据...那么你可以让你自己[R级应用的数据格式...如发送时间戳(部分指定数量后发送数据字节)。
此信息可以在接收端被提取。虽然如上所述的连接是TCP ...数据将以流格式而不是像UDP情况下的完整数据包。
我在想,如果recv的可获取数据的IP包的形式从服务器发送,而是它似乎变得尽可能在同一缓冲区,是真的吗? – user3234 2011-02-19 01:28:43
你的问题不是很清楚。你是否试图访问原始的IP头文件?你不能用`recv()`做到这一点,它只从IP数据包中返回数据有效载荷,而不是完整的IP数据包本身。 – 2011-02-19 01:39:16