I have two programs one is written in C and another is in C#. In the C# program, I am using BinaryFormatter().Serialize() method to serialize a data model and then send the serialized binary stream to C program through a TCP socket. Now In the C program, I want to extract the data so that I want to know the format of how BinaryFormatter().Serialize() generates the byte stream. I want to write a deserializer function in C for regenerating data serialized by BinaryFormatter().Serialize() in C#. Is there any documentation or information available for this?
Binary Format Deserialization
158 Views Asked by Ajith C Narayanan At
1
There are 1 best solutions below
Related Questions in C#
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in C
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in .NET
- file download method in visual studio 2017
- Repository manager receives the wrong connection string in .net core
- MongoDb not connecting C#
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Why Scanning GSI on DynamoDb doesnt work as fast as expected when using CONTAINS?
- Are "blittable types" really unmanaged types for StructLayout Sequential
- Failed to fetch dynamically imported module on Blazor JS Interop
- Problem to upload several images per one request
- Implementing Azure AD B2C Authentication in .NET 8 Blazor Project (RenderMode: InteractiveAuto)
- Stripe connect payout - throws exceptions
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Azure Application Insights Not Displaying Custom Logs for Azure Functions with .NET 8
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Socket.io nodejs server .NET connection
- Producer Batching Service Bus Vs Kafka
Related Questions in BINARYFORMATTER
- How to fix warning MSB3825 due to deprecated BinaryFormatter?
- Deserialize an object in .NET Core 7.0 which was serialized in .NET 4.8
- BinaryFormatter Serialize Alternative c#
- How do I prevent a BinaryFormatter Deserialize method from hanging?
- C# binary serialization fail
- BinaryFormatter serialization very different times for different classes
- Dict of interfaces serialization issue [C#, Unity]
- How to deserialize the data which is already serialized using BinaryFormatter in C#?
- Alternatives of BinaryFormatter in C#?
- Binary Formatter serialize-deserialize
- Issue while Serialized in server project and deserialized in client project in c#
- How to serialize properties with slashes in the name using BinaryFormatter
- How to automatically deserialize a file that was serialized using BinaryFormatter?
- How do you json serialize complex objects in c#
- Binary Format Deserialization
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The only way to deserialize data from BinaryFormatter in C would be to invoke the .net framework and use BinaryFormatter.
But this is really not the best way to transfer data over the network. BinaryFormatter is slow, insecure, and fragile. The format might even change between two .net versions.
A much better way would be to use a serialization format intended for communication between different systems. I have used Protobuf .net with good result, and C should have some protobuf implementation. BSON, textbased formats like json/xml might also be alternatives.
If you are writing a "performance intensive" application it is probably a good idea to take a look at a few benchmarks before choosing a library, or do your own performance testing. In the benchmarks I have seen, BinaryFormatter is often the slowest alternative, so it is not a good choice if you are concerned about performance. The only reason I would ever use it is for reading data from some legacy system.