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

Вниз

Переслать файл без TfileStream   Найти похожие ветки 

 
Beregin   (2003-05-25 16:13) [0]

Использую TServerSocket и TClientSocket. Необходимо считывать файл по куска (каждый считанный кусок шифровать – но это к делу не относиться) и пересылать каждый кусок на сервер. Поэтому пересылать как файловый поток не могу (или не прав?)
На стороне клиента делаю:

var ln: Integer;
data: PByte;
inFile file;
begin
ln:=512;
AssignFile(inFile, "test.rar");
reset(inFile, 1);
GetMem(data, ln);
while not eof(inFile) do
begin
BlockRead(inFile, data^, 512, ln);
ClientSoket.Socket.SendBuf(data^,ln);
end;
FreeMem(data);
CloseFile(inFile);

End;

На сервере в событие ClientRead ловлю:
var ln: Integer;
buf: PChar;
src : TFileStream;
begin
ln := Socket.ReceiveLength;
GetMem(buf,ln);
Socket.ReceiveBuf(buf^,ln);
src := TFileStream.Create("test.rar",fmOpenReadWrite);
src.Seek(0,soFromEnd);
src.WriteBuffer(buf^,ln);
src.Free;
FreeMem(buf);
end;

Но приходит только первые 30-60 килобайт. Притом каждый раз по разному – и не понятно от чего зависит. И где у меня руки кривые? Помогите люди добрые.


 
Digitman ©   (2003-05-26 09:18) [1]

1. TClientSoket.ClientType = ctNonBlocking или ctBlocking ?

2. SendBuf() - это функция ! А функция, как известно, возвращает результат. Где анализ результата ее выполнения ?

3. ln := Socket.ReceiveLength;
А если в результате выполнения этой строчки ln = 0 ? Каков тогда смысл дальнейших действий ?

4. Где обработка исключений в теле OnClientRead()

5. Если TClientSoket.ClientType = ctNonBlocking, то - где обработка события OnWrite() ?




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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
3-100543
Sheng
2003-07-11 09:14
2003.07.31
Переиндексация БД


1-100822
Alexsus
2003-07-17 16:47
2003.07.31
Подскажите пожалуйста как можно уставить тип курсора для формы


3-100571
Вован
2003-07-05 17:50
2003.07.31
Как создавать lookup поля в run-time?


14-100962
Dmitriy O.
2003-07-15 16:34
2003.07.31
Для чего нужны Proxies в ToolsAPI


14-100988
` frizZ. `
2003-07-13 15:34
2003.07.31
Фамилии........