Главная страница
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.023 c
1-1083432904
Leon
2004-05-01 21:35
2004.05.16
PAGE_FAULT в NT


6-1080320847
Rouse_
2004-03-26 20:07
2004.05.16
Показ графики в TWebBrowser при отключенной графике в эксплорере


7-1080714657
Amirka
2004-03-31 10:30
2004.05.16
Проверка наличия ActiveX -библиотеки в системе


6-1080647659
SAG
2004-03-30 15:54
2004.05.16
UDPSocket не получает сообщение


3-1082689694
Denizzz
2004-04-23 07:08
2004.05.16
Дата в SQL