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

Вниз

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

 
Dmitriy Polskoy ©   (2002-11-20 17:58) [0]

Есть ли возможность помещения данного обработчика в отдельный поток, а то при приеме большого файла клиент подвисает?


 
Digitman ©   (2002-11-21 08:21) [1]

есть такая возможность
впрочем, никто не заставляет тебя в OnClientRead считывать сразу весь поток (да и некорректно это). Можно считывать вх.поток поблочно, один блок небольшого размера за время обработки одного события OnRead.


 
Dmitriy Polskoy ©   (2002-11-21 14:03) [2]

А он так и считывается

procedure TClientForm.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
Str: string;
Sp: string;
label Receive;
begin
Str := Socket.ReceiveText;

Sp := Copy(Str, 1, 4);

if Sp <> "file" then goto Receive;
if Sp = "file" then
begin
Delete(Str, 1, 5);
FileName := Copy(Str, 1, Pos("#", Str) -1);
Delete(Str, 1, Length(FileName) +1);
Size := StrToInt(Copy(Str, 1, Pos("#", Str) -1));

StatusBar.Panels.Items[0].Text := "


 
Polevi ©   (2002-11-21 14:06) [3]

ох..


 
Digitman ©   (2002-11-21 14:15) [4]

еще как - оххххх(....


 
Dmitriy Polskoy ©   (2002-11-21 14:25) [5]

Да охать и я умею. Вы бы лучше помогли разобраться. Насколько я понимаю, надо ограничивать длинну входных данных и работать только с ними. Или опять мимо?


 
Digitman ©   (2002-11-21 14:32) [6]

Ну почему SendText()/ReceiveText()-то ?
Что, других методов нет ?
Ты у кого это содрал ? Зачем ты себе геморрой зарабатываешь, повторяя (практически - один-в-один !) чужие ошибки ?
Ну ведь каждый же божий день здесь разжевываем, почему это плохо и, если не так уж и плохо, то - конкретно в каких случаях ....


 
Digitman ©   (2002-11-21 14:38) [7]

Ну вот же, почти рядом ветка идет
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1037796770&n=4

Человек там "бьется лбом" ну практически в те же грабли !
Ну почему не прочитать-то да не вникнуть ?

Или вы друг у друга код сдираете ? Уж больно похоже)



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
1-62613
Каспер
2003-01-09 12:51
2003.01.20
Тип - Вариантная запись. Как сделать поле - дин массив?


14-62777
DeMoN-777
2002-12-30 06:36
2003.01.20
Подумал и решил спросить


1-62622
Scorpi
2003-01-09 07:26
2003.01.20
Кнопки в циклах


14-62763
Дмитрий К.К.
2002-12-29 19:15
2003.01.20
В сборной мира пополнение!


3-62370
Юляша
2002-12-24 11:19
2003.01.20
DBComboBox