Всем доброго времени суток.
Возникла проблема при написании клиента на delphi 2009 для получения файлов. Цель - получить от сервера файл(не текст, как правило приложение\мп3). Сам сервер написан на перле и гарантированно работает, проверено никсовым клиентом на том же перле. Обязательна реализация на WinSock, никакие иные сетевые компоненты неприемлемы. Пытаюсь использовать следующий код:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
while (iret<> 0 ) do
begin
iret := recv(sServerListen, bigrecy, length(bigrecy), 0 );
iRet := 1 ;
while (iRet<> 0 ) do
begin
iRet := Recv(sServerListen, BigRecy, length(BigRecy), 0 );
if (iRet = 0 ) then
break;
BlockWrite(outy, bigrecy, iret, counter);
end ;
close (Outy);
Stringy := '' ;
end ;
|
Admin: Пользуемся тегами!
Проблема заключается в том, что этот код пишет примерно в два раза больше данных, чем передается на самом деле. Причем при проверке на текстовых файлах выяснилось, что пишется непонятно что в совершенно невнятной кодировке. Подскажите пожалуйста, в чем может быть проблема, и как, соответственно, ее исправить?