Hello there to all :)

        Maybe this could be a newbie question, but I never though at
        this scenario before yestarday and I cannot try it to be sure,
        so ... I'm asking here :)

        Let's consider this normal little data transfer between an
        alpha architecture machine and an i386 one.

        Host A will be the machine running on top of an alpha processor.
        Host I will be the machine running on top of an i386 processor.

        (Nontheless to say that both A and I are running Linux as OS)

        Host A:

        [..]

        unsigned long data = 0xffffffffffffffff;

        data = htonl(data);
        send(fd, (char *) &data, sizeof(data), 0);

        where, obviously `fd' represent a connected socket to the `I' machine.
        (We're using TCP as Transport Protocol)

        Host I:

        unsigned long data;

        recv(fd, (char *)&data, sizeof(data), 0);
        data = ntohl(data);

        printf("data received: %ld\n", data);

        where here too, fd represent a connected socket (TCP) to `A' machine.

        On both machine, ntohs/htons will handle the right byte ordering stuff.
        TCP and IP will transmit the right number of byte (8 on alpha for a long)

        What will happen at receive time on the host `I' (i386) where a long is
        4 byte long ?

        Shall I see 0xffffffffffffffff or shall I lost some info ? 
        Well, the info isn't lost. It will remain in the TCP input buffer queue
        `till a further recv(). Right ? 
        But with only a recv() I'll get only 4 byte (as sizeof(long) on i386)
        Is all this right ?
        
        Could someone give me other infos ?

        Thx a lot and ... Have a nice day/night ... well whatever :))


bye bye


                                                                -- gg sullivan

-- 
Lorenzo Cavallaro       `Gigi Sullivan' <[EMAIL PROTECTED]>      -- ITALY

Until I loved, life had no beauty;
I did not know I lived until I had loved. (Theodor Korner)
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to