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