Xin chào mọi người, hiện tại em đang gặp phải một thắc mắc nên pót lên nhờ mọi người cho ý kiến.
Trong MFC có thể dùng CObject và CArchive [Đăng nhập để xem liên kết. ]
Trong C# có thể dung ISerializable [Đăng nhập để xem liên kết. ]
Đó là sử dụng riêng rẽ cho từng môi trường. Nhưng giả sử muốn truyền Object nào đó qua network (dùng socket chẳng hạn) thì liệu hai method serialize trên có hiểu đựoc hay không?
Xin mọi người cho ý kiến với. Em đang cần tìm hiểu cái vấn đề này.
PS: Serialize ra XML rồi truyền qua Socket có khả thi không?
Em đang cần một phương thức chuẩn (Microsoft support càng tốt), chứ không phải user defined đâu.
Microsoft có công nghệ Dotnet Remoting. Em có thể search trên mạng. Đây là chuẩn của Microsoft dùng để gọi phương thức từ xa (giống như RMI hay CORBA).
__________________
...Từ độ mang gươm đi mở cõi.
Trời Nam thương nhớ đất Thăng Long...
Truyền qua mạng? Vậy phụ thuộc vào giao thức em truyền! Nếu chỉ dùng TCP/IP bình thường không dùng cái chi nữa vậy phải tự em định nghĩa rồi.
Em chỉ dùng Socket bình thường thôi. Dữ liệu truyền nhận là bytestream. Ý em ở đây là có sự khác biệt nào không giữa khái niệm Serialization của C++(Dùng MFC thông qua CArchive) va Serialization của C#. C++ và C# cũng của Microsoft ấy mà, không biết có chuẩn hay không?
Có thể minh họa như thế này:
Có Object A được định nghĩa ở cả hai platform C++ và C#
B1: C++ program Serialize Object A to bytestream ()
B2: Send chuỗi byte đó qua Network
B3: C# receive chuỗi byte. Liệu có deserialize được object A hay không?
Cách đây vài hôm em co research được cái này Protocol Buffers. Cái này là của Google đó. Cái này cũng hay lắm, em đã nghiên cứu và cũng đã viết được sample theo như yêu cầu ở trên rùi.
Vấn đề là ở chỗ việc việc sử dụng nó hơi phức tạp + Open source nữa nên khách hàng họ không chịu.
Mọi người có thể tham khảo tại địa chỉ bên dưới. [Đăng nhập để xem liên kết. ]
nếu em lập trình socket thì không có rồi. Có sẵn không dùng mà lại phải tự làm?
Vấn đề là ở chỗ khách hàng sẽ viết bên C++ còn tụi em sẽ viết C#. Mình muốn sử dụng cái gì thì bên nó phải đồng ý mới được. Cái C++ program nó đã có sãn nguyên hệ thống rùi, giờ chỉ chỉnh sửa phần communicating thôi, chứ không phải viết mới hoàn toàn.
Tốt nhất mình định nghĩa giao thức Sử dụng XML là tốt nhất. A gửi cho B 1 văn bản XML theo DTD đã thống nhất.
B nhận được rồi parse XML để lấy thông tin.
__________________ Necessity is the mother of in(ter)vention.
Speak softly & carry a big stick. My Technical Blog