- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi sắp bắt đầu một dự án liên kết hai chương trình, một bằng C# và một bằng C++. Tôi đã có một chương trình c# đang 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 sử dụng phiên bản c++, tôi nghĩ đến một số câu hỏi:
1) Tôi đang sử dụng protobuf-net v1. Tôi giả sử tệp .proto trong bộ tuần tự hóa chính xác là những gì phiên bản C++ của mẫu cần? Một tìm kiếm trên Google đã đề cập điều gì đó về trường hợp Pascal, nhưng tôi không biết điều đó có quan trọng không.
2) Tôi nên làm gì nếu một trong các loại .NET không có bản sao 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 tệp .proto bằng cách nào đó và nén dữ liệu thành một hình dạng khác không? (Tôi sẽ kiểm tra tài liệu và xem liệu tôi có thể tìm ra nó không)
3) Có những cái bẫy nào khác mà người ta có thể nghĩ ra không? Định dạng nhị phân hay gì đó?
EDIT Tôi đã xem một trong các tệp nguyên mẫu. Có vẻ như những thứ cụ thể của .NET được đánh dấu là bcl.DateTime hoặc bcl.Decimal chẳng hạn. Các kiểu con được bao gồm trong định nghĩa nguyên mẫu. Tuy nhiên, tôi không chắc chắn cách xử lý các loại bcl. Chương trình C++ của tôi sẽ làm gì nếu thấy dấu thập phân?
câu trả lời hay nhất
Có, các tệp proto phải tương thích. Trường hợp là về quy ước, nó không ảnh hưởng đến chức năng thực tế - chỉ cần tạo mã, v.v.
Điều quan trọng không phải là liệu loại có thể so sánh trực tiếp có tồn tại trong .NET hay không mà là Bộ đệm giao thức có hỗ trợ nó hay không. Bộ đệm giao thức hầu hết còn rất thô sơ - nếu bạn muốn xây dựng thứ gì đó lớn hơn, bạn cần tạo thông báo của riêng mình.
Mục đích của bộ đệm giao thức là làm cho chúng tương thích nhị phân trên mạng.không nênCó một số vấn đề... hãy đọc tài liệu để hiểu các chiến lược tạo phiên bản, v.v. Điều duy nhất tôi có thể nghĩ đến là, ít nhất là trong phiên bản Java, bạn nên đặt các trường enum là tùy chọn và tự cung cấp cho kiểu enum một giá trị 0 của "Không xác định ” nếu bạn cố gắng giải tuần tự hóa một giá trị mới chưa được mã giải tuần tự hóa hỗ trợ.
Về c# - Bộ đệm giao thức, cho phép C# nói chuyện với C++: vấn đề về loại và vấn đề lược đồ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/9054726/
Tôi hy vọng Bộ đệm mới(buffer.toString()) luôn bằng nhau theo từng byte. Tuy nhiên, đây không phải là trường hợp đối với tôi. Đầu tiên, đây là trường hợp thực tế: var buf1 = new Buffer(32);
Tôi có Bộ đệm giao thức để ghi dữ liệu. tin nhắn Tin nhắn { bắt buộc double val1 = 1; tùy chọn int val2 =
Xin lưu ý chương trình đơn giản sau đây (dựa trên ví dụ trong wiki dự án protobuf-net v1): sử dụng System.Collections.Generic sử dụng System.Diagnosti;
Trong Bộ đệm giao thức, có cách nào để thư chứa tập hợp các thư lồng nhau không? Ví dụ: người giám sát tin nhắn có thể có một tập hợp nhân viên cùng với tên và bộ phận của người giám sát. Câu trả lời tốt nhất là có. Bạn sử dụng các trường lặp lại;
Tôi muốn biết cách Bộ đệm giao thức xử lý dữ liệu bị hỏng khi phân tích luồng. Có cách nào để biết liệu dữ liệu có bị hỏng hay không. Bộ đệm giao thức có cung cấp bất kỳ cơ chế kiểm tra tính toàn vẹn dữ liệu tích hợp nào không? Cảm ơn bạn, không có câu trả lời tốt nhất
Bộ đệm giao thức xử lý phiên bản loại như thế nào? Ví dụ: khi nào tôi cần thay đổi định nghĩa kiểu theo thời gian? Giống như việc thêm và xóa các trường. Câu trả lời hay nhất Protobuf do Google thiết kế rất khoan dung với việc kiểm soát phiên bản: các yêu cầu dữ liệu không mong muốn
Tôi đã thử đọc tài liệu Protobuf nhưng không thể tưởng tượng được nó được sử dụng cho nhiều trường hợp sử dụng. Tôi muốn biết một số trường hợp sử dụng thực tế để cải thiện hiệu suất của Bộ đệm giao thức. Cảm ơn bạn vì câu trả lời hay nhất. Bộ đệm giao thức là một thư viện tuần tự hóa.
Với một lược đồ Bộ đệm giao thức và một số dữ liệu, việc tuần tự hóa Bộ đệm giao thức có mang tính quyết định giữa các thư viện và ngôn ngữ không? Về cơ bản, bất kể tôi sử dụng thư viện nào, tôi có thể đảm bảo rằng cùng một dữ liệu sẽ luôn giống nhau (theo thứ tự byte)
Tôi đang làm việc trên một chương trình UWP C++/CX mẫu tạo hai luồng giao tiếp mạng UDP sử dụng Windows::Storage::Streams::DataWriter để gửi dữ liệu cho nhau. và Windo
Tôi đang sử dụng đoạn mã sau int lenSend = odl->ByteSize(); char* buf = (char *)malloc(lenSend);
Tài liệu Bộ đệm giao thức cảnh báo... Bạn không bao giờ nên thêm hành vi vào các lớp được tạo bằng cách kế thừa fr
Tôi có một lược đồ nguyên mẫu được xác định như sau, message User { int64 id = 1; bool email_subscribe = 2;
Tôi đang cố gắng hiểu phương pháp mã hóa Bộ đệm giao thức và tôi không thể hiểu cách mã hóa tin nhắn nhúng khi chuyển đổi tin nhắn sang định dạng nhị phân (hoặc thập lục phân). Tôi đoán nó có thể liên quan đến địa chỉ bộ nhớ, nhưng tôi không thể tìm thấy mối quan hệ chính xác. Đây là những gì tôi đã làm. Bước 1
Tôi cần tuần tự hóa và giải tuần tự hóa một loạt thông báo Bộ đệm giao thức đến và đi từ luồng byte. Có một số loại tin nhắn được xác định trước. Cách được khuyến nghị để mã hóa thông tin loại để ứng dụng của tôi có thể biết nên đọc loại nào? Câu trả lời hay nhất phổ biến nhất
Ưu điểm và nhược điểm của Protocol Buffer (protobuf) so với GSON là gì? Trong trường hợp nào protobuf phù hợp hơn GSON? Tôi xin lỗi vì một câu hỏi rất chung chung. Câu trả lời hay nhất json (thông qua
tin nhắn Người { bắt buộc Empid = 1 [mặc định = 100] tên chuỗi bắt buộc = 2 [mặc định = "Raju"]
Tôi đang làm việc trên một thiết bị nhỏ có bộ thông số cấu hình khá lớn (~100 KB) được tạo từ phần mềm PC. Trước đây, chúng ta lưu trữ các tham số trong tệp nhị phân và tải chúng vào cấu trúc dữ liệu. Bảo trì hơi khó chịu (ngôn ngữ khác nhau, đảm bảo cấu trúc
Từ "Các loại chữ ký" trên Mã hóa - Bộ đệm giao thức - Mã Google: Mã hóa ZigZag ánh xạ các số nguyên đã ký thành bỏ dấu
Tôi đang sử dụng Bộ đệm giao thức và mọi thứ đều hoạt động tốt. Ngoài thực tế là tôi không hiểu - tại sao tôi lại cần các thẻ được đánh số trong tệp proto: message SearchRequest { bắt buộc s
Một trong những tính năng hấp dẫn của Bộ đệm giao thức là nó cho phép bạn mở rộng định nghĩa thông báo mà không vi phạm mã sử dụng các định nghĩa cũ hơn. Đối với các bảng liệt kê theo tài liệu: một trường có
Tôi là một lập trình viên xuất sắc, rất giỏi!