Sorry, I meant Java.nio API did the order convert for us.

On 9/5/07, Lan Boon Ping <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> It has nothing to do with JVM, it is just a matter of reading byte in
> different sequence. For instance, you have a byte stream,
> byte[] aa =new byte[]{0,0,0,4};
>
> //to read big Endian int, i would do
> int bigEndianInt = makeInt( bytes[ 0 ], bytes[ 1 ], bytes[ 2 ], bytes[ 3 ]
> );
>
> //to read little endian int, i would do
> int littleEndianInt = makeInt( bytes[ 3 ], bytes[ 2 ], bytes[ 1 ], bytes[
> 0
> ] );
>
> private static int makeInt( byte byte3, byte byte2, byte byte1, byte byte0
> )
> {
>        return (int) ( ( ( ( byte3 & 0xff ) << 24 ) |
>                         ( ( byte2 & 0xff ) << 16 ) |
>                         ( ( byte1 & 0xff ) << 8 ) |
>                         ( ( byte0 & 0xff ) << 0 ) ) );
> }
>
> Hope this help.
>
> On 9/5/07, 汤国军 <[EMAIL PROTECTED]> wrote:
> >
> > I don't know whether JVM do it for us.
> > But  seems that it do not do ByteOrder
> >
> >
> > 2007/9/4, mat <[EMAIL PROTECTED]>:
> > >
> > > Does JVM do the byte reserve for us in the method message.order(
> > > ByteOrder.LITTLE_ENDIAN) ?
> > >
> > > On 9/4/07, Lan Boon Ping < [EMAIL PROTECTED]> wrote:
> > > >
> > > > Hi,
> > > >
> > > > Be aware of little Endian(C++) and big Endian(Java), you should be
> > able
> > > to
> > > > use the ByteBuffer to decode the Struct Employee corrrectly. For
> > > instance,
> > > >
> > > > ByteBuffer message;
> > > >
> > > > message.order(ByteOrder.LITTLE_ENDIAN) ;
> > > >
> > > > byte[] name  = new byte[10];
> > > > message.get( name);
> > > > int id = message.getInt();
> > > > int salary = message.getInt();
> > > >
> > > > Hope this help.
> > > >
> > > > Regards
> > > > BP.
> > > >
> > > >
> > > > On 9/4/07, 汤国军 <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Hi, i am a newer of mina, and i'v got a problem. It like this:
> > > > >
> > > > > Before ,both of Our Client and server are using C++ socket. But
> now
> > > we
> > > > > want to  migrate the server by using mina.
> > > > > We hava done some simple tests.
> > > > > When I use c++ socket sending  a string , the simple mina server
> can
> > > > > receive
> > > > > it.
> > > > >
> > > > > But when sending a c++ struct,
> > > > > struct Employee {
> > > > > char name[10];
> > > > > int id;
> > > > > int salory;
> > > > > };
> > > > > the server can only read out "name",can not get the information of
> > > "id"
> > > > > and
> > > > > "salory".
> > > > >
> > > > > I implemented the method MessageReceive(session, msg). When I try
> to
> > > > > type-cast msg to ByteBuffer, there throw out an exception.
> > > > >
> > > > > So i urgently want to know how can i do this?
> > > > >
> > > > > thank you and sorry for my poor english.
> > > > >
> > > > > --
> > > > > Hope is a good thing, maybe the best of the things!
> > > > >
> > > >
> > >
> >
> >
> >
> > --
> > Hope is a good thing, maybe the best of the things!
> >
>

Reply via email to