Có ai biết dự án thực hiện triển khai Bộ đệm giao thức của Google ở Delphi không?Bộ đệm giao thức Delphi?
Trả lời
Dự án này chứa việc triển khai Bộ đệm giao thức cho Delphi. Từ dự án đã được triển khai thực hiện chức năng hạn chế cần thiết cho một dự án cụ thể. Vào thời điểm đó, tôi không thấy bất kỳ ý nghĩa nào để chuyển toàn bộ mã dự án. http://sourceforge.net/projects/protobuf-delphi/
và chưa được chạm lại từ năm 2011. Xem bên dưới cho câu trả lời Cơ bản dường như vẫn được duy trì tích cực. –
Phiên bản 1.1 đã được phát hành vào tháng 4 năm 2013. –
Bạn có thể nên tìm/tạo cầu C++/Delphi tốt hơn là thực hiện lại bộ đệm giao thức. Các codebase là khá lớn.
Tôi tự hỏi bạn nghĩ gì khi sử dụng hoặc JSON hoặc BSON có vẻ giống như một công việc đang tiến hành) dưới dạng giao thức.
Dường như các bộ đệm giao thức có nhiều tính năng hơn vì chúng cho phép các phần tử tùy chọn ví dụ, vì vậy nó gần với giao thức XML + XSD/WSDL/SOAP hơn là định dạng tuần tự – mjn
đây:
Fundamentals Nghị định thư Buffers 4.00.01 (10 Feb 2013)
Google Nghị định thư Buffers
Xuất hiện để được duy trì tích cực. 1 cho điều này trong khi câu trả lời được chấp nhận dường như bị đóng băng và không bao giờ xúc động kể từ năm 2011. –
tôi thấy another one trên github. (được phát triển từ tháng 2 năm 2014 đến tháng 7 năm 2016, kể từ tháng 6 năm 2017)
Có vẻ như có preliminary proto3 support.
Tôi chưa thử nghiệm, nhưng nó có thể là tốt nhất kể từ hôm nay.
https://github.com/stijnsanders/DelphiProtocolBuffer
EDIT: Tôi thử nghiệm này nhưng có vẻ như được viết bằng delphi cũ và không Unicode sẵn sàng.
tôi có thể biên dịch các máy phát điện (sử dụng 10 Seattle), nhưng biên soạn exe không thể tạo ra file pas :-(
EDIT2:
Các bộ tạo mã công trình chỉ cần thay thế TStream để TStreamReader/Writer . tôi khẳng định máy phát điện có thể chuyển đổi gần đây address book sample.
diff --git a/ProtBufParse.pas b/ProtBufParse.pas
index f29d7c7..cdd734d 100644
--- a/ProtBufParse.pas
+++ b/ProtBufParse.pas
@@ -236,16 +236,13 @@ var
procedure LoadCode;
var
- f:TFileStream;
+ sr:TStreamReader;
begin
- f:=TFileStream.Create(FilePath,fmOpenRead or fmShareDenyWrite);
+ sr:=TStreamReader.Create(FilePath, True{DetectBOM});
try
- //TODO: UTF-8? UTF-16?
- CodeL:=f.Size;
- SetLength(Code,CodeL);
- if f.Read(Code[1],CodeL)<>CodeL then RaiseLastOSError;
+ Code := sr.ReadToEnd;
finally
- f.Free;
+ sr.Free;
end;
end;
diff --git a/dpbp.dpr b/dpbp.dpr
index 4049480..b6dab90 100644
--- a/dpbp.dpr
+++ b/dpbp.dpr
@@ -22,7 +22,7 @@ var
p:TProtocolBufferParser;
s,t,InputFN,OutputFN,RelPath:string;
i,j,l,l1:integer;
- f:TFileStream;
+ sw:TStreamWriter;
fv:TProtocolBufferParserValue;
ff:TProtocolBufferParserFlag;
Flags:TProtocolBufferParserFlags;
@@ -134,11 +134,12 @@ begin
writeln('Writing '+OutputFN);
s:=p.GenerateUnit(Flags);
- f:=TFileStream.Create(OutputFN,fmCreate);
+
+ sw:=TStreamWriter.Create(OutputFN,False,TEncoding.UTF8);
try
- f.Write(s[1],Length(s));
+ sw.Write(s);
finally
- f.Free;
+ sw.Free;
end;
finally
- 1. Từ điển trong bộ đệm giao thức
- 2. Bộ đệm giao thức Google so sánh
- 3. Boost.Asio với bộ đệm giao thức google
- 4. Bộ đệm giao thức Scala biên dịch
- 5. Bộ đệm giao thức với JPA
- 6. Dữ liệu/bộ đệm đệm giao thức Dump
- 7. Bộ đệm giao thức của Google - Bộ đệm kích thước cố định?
- 8. Bộ đệm giao thức của Google so với ASN.1
- 9. C++ Bộ đệm giao thức của Google: serialize thành char *?
- 10. Trường lặp lại Bộ đệm giao thức của Google C++
- 11. Ghi tăng dần đối tượng Bộ đệm Giao thức
- 12. Bộ đệm giao thức: Cách xác định loại ngày?
- 13. Bộ đệm giao thức của Google được biên dịch
- 14. Các giải pháp thay thế cho Bộ đệm giao thức
- 15. Bộ đệm giao thức của Google rất lớn trong python
- 16. Cách tạo bộ đệm giao thức theo Android NDK
- 17. Mở rộng bộ đệm giao thức trong Java
- 18. Cài đặt bộ đệm giao thức trên Windows
- 19. Trong Bộ đệm giao thức của Google, tệp/mô hình giao thức phù hợp cho Ngoại lệ là gì?
- 20. tại sao byte đệm giao thức là chuỗi trong c + +?
- 21. Bộ đệm giao thức của Google, HDF5, So sánh NumPy (truyền dữ liệu)
- 22. Sử dụng bộ đệm Giao thức làm đối tượng Dữ liệu chung?
- 23. Bộ đệm giao thức; lưu dữ liệu vào đĩa & tải lại sự cố
- 24. Thông báo bộ đệm giao thức qua Akka IO và Sockets
- 25. Thiếu tệp đầu vào với protoc trong bộ đệm giao thức
- 26. Tuần tự hóa hiệu năng cao: Bộ đệm giao thức Java vs Google so với ...?
- 27. Hình phạt về hiệu suất của getSerializedSize() trong Bộ đệm giao thức
- 28. Gọi các hàm Java từ R bằng RProtoBuf (Bộ đệm giao thức)
- 29. Phân tích cú pháp giao thức Bộ đệm Google mà không có tệp .proto?
- 30. Có cơ sở dữ liệu nào hỗ trợ bộ đệm giao thức không?
không giống là khó để có một đi vào nó bản thân mình (mình?), nó chỉ thời gian (thời gian !!) tôi ước gì có một vài giờ nữa mỗi ngày. –
Amen! Đã hy vọng để giúp đỡ và không bắt đầu từ đầu. –
Trang đệm giao thức: http://code.google.com/p/protobuf/ protobuf-net là triển khai .net: http://code.google.com/p/protobuf-net/ Dựa trên ở trên nó phải là công việc nhiều hơn tôi nghĩ đầu tiên. Tôi muốn có phiên bản win32 hoặc không .net ở Delphi. –