2012-06-14 17 views
6
Tôi đang cố gắng viết một số mã sẽ tạo ra các tệp .proto chính xác từ mô hình kiểu thời gian chạy protobuf-net (V2), vì vậy tôi có thể viết một trình khách python có khả năng deserializing protobuf-net tạo ra tin nhắn.

Thông báo .proto cho datetime trong protobuf-net

Tôi hơi bị mắc kẹt về thông điệp trông như thế nào đối với ngày giờ, bất kỳ ai cũng có thể làm sáng tỏ điều này?

Cảm ơn

Trả lời

8

Lõi protobuf đặc tả không có cơ chế sẵn có để xử lý ngày/lần.

Nếu bạn đang làm việc giữa các nền tảng, thì thành thật mà nói, tôi khuyên bạn nên phơi bày nó theo cách đơn giản hơn, chẳng hạn như long (thời gian unix hoặc tương tự). protobuf-net sử dụng một chút bố cục chi tiết hơn, để khai thác thực tế là nhiều giá trị ngày giờ là ngày tinh khiết, v.v. Có một BCL.proto trên trang web dự án, nhưng dường như tôi không thể tìm thấy nó đúng bây giờ ... đó là lẻ (tôi sẽ điều tra). Tuy nhiên: nếu tùy chọn có sẵn: chỉ hiển thị dữ liệu theo cách đơn giản hơn.

+0

Rất tiếc, tôi không có quyền kiểm soát các loại .NET sẽ được gửi và nhận. Nếu ai đó gửi một đối tượng DateTime .NET qua dây tới máy khách python của tôi, tôi cần biết chính xác cách protobuf-net đã tuần tự hóa nó (định nghĩa thông báo chính xác) để tôi có thể deserialize nó. – Franchesca

+0

Tôi tìm thấy một bản sao của bcl.proto [ở đây] (http://code.google.com/p/protobuf-net/source/browse/trunk/Tools/bcl.proto?r=282). Điều này có áp dụng cho v2 không? – Franchesca

+0

@Franchesca, định dạng giống hệt nhau giữa v1 và v2. Tuy nhiên, tôi nhấn mạnh rằng sự hỗ trợ 'DateTime' không phải là một phần của thông số cốt lõi, và chủ yếu dành cho việc sử dụng .NET-to-.NET; nó sẽ dễ dàng hơn nhiều để sử dụng thời gian unix ... –

Các vấn đề liên quan