【发布时间】:2016-02-11 02:33:59
【问题描述】:
我在 C# 中使用套接字 TCP。
这里有一些代码:
System.Net.Sockets.Socket clientSocket;
...
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
...
clientSocket.Receive( ...)
clientSocket 对象接收数据 - 服务器端有一个创建的数据包,由它决定何时发送。
有什么方法可以检索数据包的发送日期和时间以及创建时间?
另外,在使用 REST 等协议时,有什么方法可以检索日期+时间?
请提供一些示例代码。
谢谢:)
【问题讨论】:
-
如果您控制数据包的内容,请在数据包本身中包含日期和时间。如果你不这样做,任何解决方案都可能是矫枉过正和低水平的。你会得到一个与接收时间极其相似的时间,并且在某种程度上毫无意义,因为它来自(或可能来自)另一台计算机的另一个时钟。
-
我不控制数据包的内容。我认为有一个非常基本的实现,我可以解决该数据包背后的内容,包括时间戳。这是协议的一些基础知识,它对数据包进行编码并将其解码为可读的自助餐。解码时有校验和字节和一些额外的数据可以计算出来,但我该如何解决呢?