Sending Data over Shared Memories (MFC)

Discussion in 'C++' started by volker_nitschke, Jul 11, 2006.

  1. Hi,

    I want to develop a program, that transmits several classes between two
    processes. It should be built after the guidelines of the
    iso/osi-reference model and work with a shared memory. At the moment I
    copy all the data into a buffer, add the specific overhead and send
    them to the memory. But if the data contains any strings, it adds only
    the pointer and not the string itsself. How can I realize, that the
    program copies the string and not the pointer into "pBuffer"? I have
    already looked at serialization and streams, but it still didn't work.

    Anyone knows, how to handle this problem?

    The structure for the data transport looks like this:

    struct SDataModule // layer 7 module
    long commandCount; // number of elements in the buffer
    char pBuffer[MAX_COUNT_BYTES]; // storage buffer

    struct STransportModule // layer 4 module
    long seqNumber; // a sequence number to mark each block
    SDataModule data; // the data to transport

    struct SNetworkModule // layer 3 module
    char source[16]; // the ip from the user computer
    STransportModule transport; // the data to transport

    struct SMemoryModule // layer 1 module
    BOOL full; // indication that the shared memory is full
    SNetworkModule network; // the data to transport

    Volker Nitschke
    volker_nitschke, Jul 11, 2006
    1. Advertisements

  2. That's strictly Microsoft stuff. Has nothing to do with C++.

    Ask HERE instead: (I set followup here.)

    Robbie Hatley
    East Tustin, CA, USA
    lone wolf intj at pac bell dot net
    (put "[usenet]" in subject to bypass spam filter)
    Robbie Hatley, Jul 11, 2006
    1. Advertisements

  3. volker_nitschke

    Jim Langston Guest

    Those structures are interesting, but not much help without telling us what
    you are trying to do with them. Nor are you showing us the structures.

    Quote: "But if the data contains any strings, it adds only the pointer and
    not the string itsself."

    What is this "it" you are refering to? A function? A method? An

    Your answer may be as simple as how to use strncpy or memcpy or an iterator.
    Or not. Show us what you are trying to do that is not working.
    Jim Langston, Jul 12, 2006
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.