Tôi sắp bắt tay vào một dự án để kết nối hai chương trình, một trong C# và một trong C++. Tôi đã có một chương trình C# hoạt động, có thể nói chuyện với các phiên bản khác của chính nó. Trước khi bắt đầu với phiên bản C++, tôi đã nghĩ đến một số vấn đề:Bộ đệm giao thức, nhận C# để nói chuyện với C++: vấn đề loại và các vấn đề lược đồ
1) Tôi đang sử dụng protobuf-net v1. Tôi lấy nó các tập tin .proto từ serializer là chính xác những gì được yêu cầu như là các mẫu cho phiên bản c + +? Một tìm kiếm google đã đề cập đến một cái gì đó về pascal vỏ, nhưng tôi không có ý tưởng nếu đó là quan trọng.
2) Tôi phải làm gì nếu một trong các loại .NET không có đối tác trực tiếp trong C++? Nếu tôi có số thập phân hoặc từ điển thì sao? Tôi có phải sửa đổi các tệp .proto bằng cách nào đó và chuyển dữ liệu thành một hình dạng khác không? (Tôi sẽ kiểm tra các tập tin và xem nếu tôi có thể tìm ra nó)
3) Có bất kỳ gotchas khác mà mọi người có thể nghĩ đến không? Định dạng nhị phân và những thứ như thế?
EDIT Tôi đã xem một trong các tệp proto ngay bây giờ. Có vẻ như công cụ cụ thể NET được gắn thẻ ví dụ như bcl.DateTime hoặc bcl.Decimal. Các kiểu con được bao gồm trong các định nghĩa proto. Tôi không chắc chắn phải làm gì về các loại bcl, mặc dù. Nếu C++ prog của tôi nhìn thấy một số thập phân, nó sẽ làm gì?
Tôi không chắc chắn sự khác biệt là gì? Tôi đã sử dụng Serializer.GetProto để nhận một chuỗi, có thể đọc được hoàn hảo và trông giống như tệp .proto. –
Carlos