I never did that in particular, but I personally consider there are three approaches:
1. Receive the byte-stream as is, but then you have to know exactly how your data is encoded at the sender (what's the size of the types, which order are the member-variables held in memory, are they Big Endian or Little Endian, etc.) and convert it manually back into a matlab struct. But IMHO this is going to be quite a pain and somewhat errorprone.
2. Familiarize yourself with Serialization and Marshalling of data, allowing you for example to convert your struct data into XML, YAML, or Struxt format, transmit the converted data (containing the struct's structural information in addition to the data contained by it) and deserialize it on the Matlab side. (There should be c libraries around for supporting serialization tasks. Not quite sure about libraries for MATLAB, but in the end an XML-reader will do the task on MATLAB end.)
3. Familiarize yourself with Serialization, Marshalling, and the SOAP capabilities of MATLAB.
I would probably go for option 2 because it should be a reasonable balance between "the way things should be done" and "just get your prototype running".