Текущий архив: 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.44 MB
Время: 0.012 c