Winsock. Проблема передачи значания переменной DWORD
Добавлено: 16 фев 2008, 13:50
У меня клиент-серверное приложение передачи файлов по сети. Файл передается от сервера к клиенту. Перед передачей самого файла сервер отправляет его размер в переменной DWORD следующим образом:
А клиент получает эти данные вот так:
И если размер файла равен 5, то все работает нормально, клиент получает число dwSizeFile=5. А вот если передается число 45056, то клиент получает dwSizeFile=0, а если смотреть по-байтово переменную sSizeFile, то получаем:
Может я что-то делаю не правильно?
Код: Выделить всё
DWORD dwSizeFile=GetFileSize(hFile,NULL);//определяем размер файла
send(Sock,(char*)&dwSizeFile,4,0);//отправляем размер файла
Код: Выделить всё
char sSizeFile[4];
recv(Sock,sSizeFile,4,0);
DWORD dwSizeFile=(int)*sSizeFile;
Код: Выделить всё
dwSizeFile[0]=0
dwSizeFile[1]=-80'°'
dwSizeFile[2]=0
dwSizeFile[3]=0