【问题标题】:How protobuf-net serialize DateTime?protobuf-net 如何序列化 DateTime?
【发布时间】:2014-06-04 11:33:32
【问题描述】:

我正在开发一个由客户端/服务器组成的项目。客户端用 Python 编写(将在 linux 上运行),服务器用 C# 编写。我正在通过标准套接字进行通信,并且正在使用 protobuf-net 进行协议定义。但是,我想知道 protobuf-net 如何处理 DateTime 序列化。 Unix datetime 与 .net 标准 datetime 不同,我应该如何处理这种情况?

谢谢

【问题讨论】:

  • 可以自己使用Reflector或者IlSpy查看例程的源码

标签: c# python protocol-buffers protobuf-net


【解决方案1】:

DateTime 是通过多字段消息进行欺骗的,该消息并非微不足道,但并非无法理解。事后看来,我希望我以不同的方式做到这一点,但事实就是如此。该定义在 protobuf-net 项目的 bcl.proto 中可用。

但是!如果您面向多个平台,我强烈建议您在 DTO 模型中简单地使用 long 等,表示某个时期的某个时间粒度(例如,自 1970 年以来的秒或毫秒)。

【讨论】:

  • @marc-gravell 我需要解析由 Python 中的 .Net 编码程序发送的原始消息。如何解析 .Net 编码的日期时间?什么是编码。我找不到 blc.proto。
  • @efficks 你有没有偶然问过同样的 github 问题?我在那里回答,包括指向架构的链接
猜你喜欢
  • 1970-01-01
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多