Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 8 của 8
  1. #1

    Serialize List, Dictionary của C# thành binary, Deserialize trong Java. Mong mọi người cùng thảo luận!

    Serialization là một vấn đề khó và hấp dẫn đối với mọi lập trình viên. Mình cũng đang có một nỗi đau đối với việc này.

    Mong muốn của mình là Serialize một số đối tượng của C# như List, Dictionary ra thành file binary, sau đó ở ứng dụng Java/C# sẽ Deserialize file binary đó thành List, Dictionary tương ứng. Không biết bạn nào có ý tưởng hay đảm bảo về performance có thể đưa ra trao đổi được không?

    Mình rất hi vọng các bạn không ngại thảo luận và chia sẻ đề tài của mình. Xin cảm ơn!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nghe có vẻ vấn đề này khó không mấy người tham gia thảo luận. Cơ bản mình định nghĩa List, Dictionary bằng một định danh và Serialize từng object trong chúng rồi lưu vào file. Tuy nhiên một số object của .NET thì đang có nhiều vấn đề, mình đang lấy source của .NET về nghiên cứu rồi tiếp tục làm!

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nếu muốn dùng thì bạn dùng protobuf.
    Nếu muốn nghiên cứu bạn có thể down source nó về để nghiên cứu.
    Nếu muốn viết từ đầu bạn có thể dùng wiki, có chuẩn chung để serialize cho phần lớn ngôn ngữ.

    Protobuf Doc

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đấy là lý thuyết và mình cũng đã biết đến Protobuf. Bạn có thể bớt thời gian cho mình một ví dụ đơn giản không? Đặc biệt là với những object mà không phải do mình tạo ra thì sẽ có nhiều vấn đề!

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hi Bạn,

    Những object bạn tạo ra, thì nó sẽ chứa những object (int,string,list ...) đã hỗ trợ serialize do đó object của bạn hoàn toàn serialize được.

    Mình khi làm với nó thì thường dùng hỗ trợ của chính ngôn ngữ sử dụng.
    Ví dụ C# bạn sẽ có cách thức serialize của nó, khi lưu xuống file nó sẽ lưu binary data và bạn chỉ việc deserialize để lấy lại dữ liệu.

    Còn protobuf thì bạn có thể tham khảo document của nó.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nhưng nếu là chương trình Java serialize ra 1 file, rồi mang file đó sang chương trình .NET deserialize thì lại là vấn đề không còn đơn giản nữa!

    Dù sao cũng cảm ơn bạn đã reply!

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình đã nói bạn rồi đó, nó sẽ có chuẩn chung.
    Hoặc bạn viết như thrift, protobuf.
    Hoặc bạn serialize theo JSON, YML,... rồi bạn tự deserialize ra lại.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chuẩn rồi, nếu đã dính tới nền tảng khác nhau, thì nên giao tiếp qua XML, JSON ... hoặc một thằng trung gian nào đó cho đơn giản chứ chả ai mang object của Java qua C# dịch cả (mặc dù theo lý thuyết thì được). Theo mình là như vậy.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •