Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Receiveln   Найти похожие ветки 

 
neteditor   (2004-03-24 19:13) [0]

Ситуация простая: есть клиентская и серверная (TTCPServer) части. Клиентская отсылает по сокету бинарный файл (размер >300K). Однако при использовании Receiveln в нити серверной части, получается получить лишь ~900 байт. После чего прием оканчивается. Клиентская часть 100% отсылает информацию в полном объеме. Используемый код


buf: AnsiString;
....
buf := "";
f := TFileStream.Create(filename, fmCreate);
repeat
 f.WriteBuffer(PChar(buf)^, Length(buf))
 buf := AnsiString( ClientSocket.Receiveln(eof) );
until buf = "";


Где eof = "####end####" (в файле данная строка не встречается)

Посоветуйте чего-нить.


 
Fredericco ©   (2004-03-24 19:27) [1]

Толи лижи, толи я. (с) ЮЗ

Какой логический смысл вот этого:

buf := AnsiString( ClientSocket.Receiveln(eof) );
until buf = "";
?
Ты ж как только чего-нить получишь, сразу получишь False в условии цикла.


 
neteditor   (2004-03-25 11:30) [2]

:)

The repeat statement executes its sequence of constituent statements continually, testing expression after each iteration. When expression returns True, the repeat statement terminates.

Но все равно спасибо :)


 
Fredericco ©   (2004-03-25 11:41) [3]

Сорри :-)


 
Fredericco ©   (2004-03-25 11:55) [4]

Я сам не инди юзаю, но может вот это поможет:

Use a custom time-out (ATimeout) value to change the number of milliseconds to wait for a response from the peer connection before a time-out occurs. The default value for ATimeout is IdTimeoutInfinite. See IdGlobal.pas for more information on constant timeout values.


 
Rouse_ ©   (2004-03-25 12:02) [5]

Приведи полный код отправки и полный код приема


 
neteditor   (2004-03-26 12:31) [6]

Надоело мучаться с TTCPServer, взял старый TServerSocket + TWinSocketStream и все работает.

Спасибо за помощь :)



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1082701328
Урмат
2004-04-23 10:22
2004.05.16
Как в ADOTable ограничить добавление записи


7-1081003358
CAHEK
2004-04-03 18:42
2004.05.16
Как из Винды в проге открыть файл???


1-1083519479
Alpupil
2004-05-02 21:37
2004.05.16
HTCAPTION


4-1080382044
Игорь
2004-03-27 13:07
2004.05.16
Работа с дискетой


1-1083412577
Jiurasdfgfr
2004-05-01 15:56
2004.05.16
Как присвоить String Char-y?