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

Вниз

Asynchronous socket error 10061   Найти похожие ветки 

 
VolanD666   (2006-08-16 17:27) [0]

Ставлю ClientSocket и Button. В Button`е пишу:

srcfile:=TFileStream.Create("c:\file.txt", fmOpenRead);
ClientSocket1.Host:="192.168.20.1";
ClientSocket1.Open;
ClientSocket1.Socket.SendStream(srcfile);
ClientSocket1.Close;
srcfile.Free;


В другом приложении пишу в ServerSocket1ClientRead:

var
 l: Integer;
 buf: PChar;
 src: TFileStream;
begin
 l :=Socket.ReceiveLength;
 GetMem(buf,l+1);
 Socket.ReceiveBuf(buf,l);
 src := TFileStream.Create("C:\file.exe",fmOpenReadWrite);
 src.Seek(0,soFromEnd);
 src.WriteBuffer(buf,l);
 src.Free;
 FreeMem(buf);


Но "Asynchronous socket error 10061" не дает мне радоваться успешной передаче файла. :( Почему?


 
Dmitrij_K   (2006-08-16 17:32) [1]

Потомучто ClientSocket1 работает в асинхронном режиме
Команда ClientSocket1.Open; не ждет пока откроется соединение, и далее ты пытаешься отсылать данные в некуда

чтобы работало установи ClientSocket1 в длокируюший режим, или Отсылай файл по событию OnWrite


 
Dmitrij_K   (2006-08-16 17:35) [2]

Кажется так
ClientSocket1.ClientType := ctBlocking;


 
Сергей М. ©   (2006-08-17 08:09) [3]


> VolanD666   (16.08.06 17:27)


Кр.того метод ReceiveLength() работает не так как ты предполагаешь. Это может привести к записи в файл "мусора".
Посмотри внимательно справку.



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

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

Наверх




Память: 0.47 MB
Время: 0.1 c
1-1164183881
IGo
2006-11-22 11:24
2007.01.14
Word - Как узнать номер строки в которой находится курсор ?


3-1161858560
Ольга
2006-10-26 14:29
2007.01.14
Возврат значений из хранимой процедуры


3-1162187801
vlgrig1961
2006-10-30 08:56
2007.01.14
Есть ли в SQL для парадокса что-то вроде To_Char конверт из цифр


15-1166373226
Tolik
2006-12-17 19:33
2007.01.14
Защита структур и алгоритмов


1-1164018415
Clipper Chip
2006-11-20 13:26
2007.01.14
Принтер виртуальный или физический?