Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

bknight


Принципиальный молчун

Зарегистрирован:
12 January 2007
Сообщения: 6
Примеры кода: 0
 

Последовательность расположения байт...

17 January 2007 10:56  


Доброго времени суток!

Вопрос такой: есть сервер, который написан на старом добром C... (Исходников к нему нету). Пишу клиента на C#.
При пересылке данных серверу проблем не возникает, а вот при получении данных имеем следующее:

приходит byte[] {0x12, 0x34, 0x56, 0x78}, но после преобразования к чему-нить целочисленному (например Int32), имеем
число 0x78563412. Как мне добиться, чтоб преобразование не переставляло байты?

Пример данных:


[StructLayout(LayoutKind.Sequential, Pack = 1, Size = 4, CharSet = CharSet.Auto), CLSCompliant(true)]
public class ErrorCodeEncapsulate
{
[MarshalAs(UnmanagedType.U4)]
public ErrorCodes errCode = ErrorCodes.None;
}

public enum ErrorCodes
{
None = 0x00000001,
InvalidNickOrPassword = 0x00000002,
ServiceTemporarilyUnavailable = 0x00000004,
AllOtherErrors = 0x00000008,
}

Пример кода, который производит преобразование:


// получаем ч/з сеть в buffer след. массив байт:
// 0x00 0x00 0x00 0x02
// ожидаем после преобразования получить:
// 0x00000002

IntPtr ptr = Marshal.UnsafeAddrOfPinnedArrayElement(buffer, 0);

ErrorCodeEncapsulate caps = new ErrorCodeEncapsulate();
Marshal.PtrToStructure(ptr, caps);

// caps.errCode == 0x02000000
// Почему и как это поправить???

Заранее благодарен!

Данное сообщение получено с сайта RSDN
Наверх
  



Общие вопросы программирования на ASP.NET

 Последовательность расположения байт...bknight  17 January 2007 10:56
 Re: Последовательность расположения байт...nikda  17 January 2007 12:10
 Re: Последовательность расположения байт...TK  17 January 2007 11:16
 Re: Последовательность расположения байт...Аноним  17 January 2007 11:10
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта